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... ]