おぴよの気まぐれ日記

おぴよの気まぐれ日記

岡山やプログラミング、ファッションのこと、子育てや人生、生き方についての備忘録。

model

【Ruby on Rails】子の作成時に親のupdated_atを更新したり更新しなかったりする方法

こんちには。opiyoです。 railsでデータをsaveしたりupdateしたりするとupdated_atが更新されるけど、親データのupdated_atを更新したり、更新しないようにするにはどうすればいいの!? こんな悩みを解決していきたいと思います。 結論から言ってしまうと …

【Rails】ActiveRecordじゃなくて生のSQLを実行する方法(find_by_sql)

Ruby on Railsで生のSQLを実行する方法です。 ちょっと複雑なデータを取得したい時に、Active Recordだと逆に面倒だったりして生のSQLを描きたい場合があります。 その場合はfind_by_sqlを使います。 基本的な使い方 使い方はシンプルでModel.find_by_sql(sq…

【Rails保存版】Active Recordで作ったオブジェクトを保存しよう!(save/update)

Ruby on Railsでデータベースを操作するのに使うActive Record。 今回は、saveやupdateを使って実現するオブジェクトの保存方法紹介します。 今回利用するテーブル情報はこちらです。 基本的な使い方 保存する役割を果たすメソッドは以下の通りいっぱいあり…

【Rails】Active Recordで作ったオブジェクトを削除しよう!(destroy/delete)

Ruby on Railsでデータベースを操作するのに使うActive Record。 今回は、destroyやdeleteを使って実現するオブジェクトの削除方法紹介します。 今回利用するテーブル情報はこちらです。 今回使うテーブルのER図 基本的なこと オブジェクトを削除するメソッ…

【Rails】Active Recordでオブジェクトを作ろう!(new/build)

Ruby on Railsでデータベースを操作するのに使うActive Record。 今回は、newやbuildを使って実現するオブジェクトの作り方を紹介します。 基本的なこと newやbuildは基本的に出来ることは一緒です。 厳密には違うのかもしれませんが、「new build 違い」で…

【Rails】オブジェクトを作成したり検索したり更新したり保存したり

Ruby on Railsではデータベースとの様々なやりとりをActice Recordという仕組みを使って行いますが、よく使われる方法をざっとご紹介です。 今回利用するテーブル情報はこちらです。 Table "public.hoges" Column | Type | Collation | Nullable | Default -…

【Rails】モデルの変更前後の値や変更されたのかをチェックする

Ruby on Railsで保存や変更した時の値を取得したり、値が変更されたのかどうかをチェックする方法を紹介します。 変更のチェック(changed?) モデル全体で変更があるかどうかをチェックするにはchanged?を使います。 > hoge = Hoge.last Hoge Load (0.3ms) …

【Rails】バリデーションをまとめてみる

データを登録する際に利用するフォームですが、条件に応じて必須だったり制限したりする仕組みを「バリデーション」といいます。 Ruby on Railsでは以下のような感じで設定することができます。 class Hoge < ApplicationRecord validates :name, presence: …

【完全版】RubyonRailsのActiveRecord基礎!

こんにちは。opiyoです。 今日はRailsの勉強をしていると出てくる「Active Record 」について、勉強したいと思います。 User.first User.find(1) User.update User.create!(hoge: hoge) こんな奴らですね。 ではでは早速、行ってみましょう。 railsでデータ…