タグ

paramsに関するharigelのブックマーク (2)

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

    Nested AttributesとNested Model Formsを使って親子オブジェクトを一括で登録/変更するには Railsでは、親子構造のオブジェクトのパラメータを一回のリクエストで送り、親オブジェクトを通じて子オブジェクトのCRUDを同時に行わせることが簡単にできませんでした。Rails2.3では、これを簡単に行えるNested AttributesとNested Model Formsの機能が入りました。 まず、モデルクラス側では、以下のように accept_nested_attributes_for を記述します。 # 料理レシピクラス class CookingRecipe すると、この親モデルクラス(上記の例ではCookingRecipe)のオブジェクトには、ingredientsのためのデータを属性の一種としてハッシュで渡すことができるようになります。こ

  • [Railsのキホン]リクエストパラメータ

    知っている人には常識な話ですが、Railsでのリクエストパラメータの扱いについて。 Railsでは、ルーティング情報とクエリパラメータをハッシュマップ(パラメータ情報というらしい)に格納して、コントローラへ渡します。コントローラからは、params という変数でこのマップにアクセスします。 たとえば、"key"というリクエストパラメータを取得するには、 params[:key] と書きます。 ※このとき、:key がルーティング定義(config/routes.rb)で使われていてはいけない。 ハッシュマップなので、ひとつのクエリパラメータ名に複数の値を対応させようとして、 http://foo.com/controller/action?key=val1&key=val2 とすると後の値(この場合 "val2" で params[:key] が上書きされてしまいます。 (仕組みを知らない

  • 1