Ruby on Rails Tips

新着記事

Nested AttributesとNested Model Formsを使って親子オブジェクトを一括で登録/変更するには

routes.rbで複数ルートに共通の設定をまとめて書くには

routes.rbでは、複数のルートで共通の設定をしたい場合があります。例えば、多くのURLでユーザー名(:user)をパスの先頭につけたいとしましょう。次のようにそれぞれのルートを記述するのはDRYではないし、うっかり付けるのを忘れる可能性があります。

もっと読む…

密結合な親子構造を作るには

Railsでは通常、親子構造で双方向にリンクをはるには、has_many(またはhas_one)とbelongs_toを使います。しかし、このように作られた構造では、親のオブジェクトと、その子オブジェクトからたどった親オブジェクトは、オブジェクトとしては別物になります。

もっと読む…

マイグレーションで既存データの複雑な変更を行うには

マイグレーションで既存データも修正したい場合があります。例えば、カラムを追加したときに、その初期値を投入したいということがあります。

もっと読む…

親モデルの永続化していない情報を子モデルで使うには

Ruby on Railsでは、has_many関連を使って親子構造を表すことがよくあります。一般的なオブジェクト指向の親子構造であれば、次のように、親オブジェクトにセットした情報を子オブジェクトから参照できるように実装することは難しくはありません。

もっと読む…