[前][次][番号順一覧][スレッド一覧]

rails:406

From: Kazuhiro Yoshida <moriq@m...>
Date: Tue, 04 Oct 2005 13:25:06 +0900
Subject: [rails:406] Re: ARの子の属性も親と一緒に設定させるには?

もりきゅうです。

auto_index を使えば良さそうです。
ビューでは object name に [] を付けます。

<% @p.cs.each{|c| %>
  <%= text_field 'c[]', 'foo'  %>
<% } %>

コントローラでは params[:c] が入れ子になります。

  def create
    @p = P.new(params[:p])
    params[:c].each{|c_id, c_params|
      c = C.find(c_id) rescue c = C.new
      c.attributes = c_params
      @p.cs << c
    }
    @p.save
  end

でも、ビューでは既存の子と新規作成の子を別に用意する必要があるから
実際にはこうは書けないかも。

たぶん次の Tutorial のようになります:
http://wiki.rubyonrails.com/rails/pages/TutorialRelationalForms

なお
  c = C.new
  c.attributes = c_params
  @p.cs << c
は
  @p.build_to_c(c_params)
とも書けます。
# でも build_to は deprecated.

----
Kazuhiro Yoshida  moriq@m...

--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

       404 2005-10-04 04:46 [kawaji@g...         ] ARの子の属性も親と一緒に設定させるには?
->     406 2005-10-04 06:25 ┗[moriq@m...          ]                                       
       407 2005-10-04 06:42  ┣[moriq@m...          ]                                     
       408 2005-10-04 06:47  ┃┗[moriq@m...          ]                                   
       414 2005-10-08 19:08  ┗[kawaji@g...         ]