[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
<% index = 0%>controller
<% hoges.each do |hoge| %>
<%= check_box_tag "index[]", index %>
<%= hidden_field_tag "hoge[][fuga]", hoge.fuga %>
<%= hidden_field_tag "hoge[][piyo]", hoge.piyo %>
<% end %>
<%= link_to_remote "チェックしたHogeを加える",
:update=>'hoge_column',
:submit=>'hoge_colunm,
:url=>{:contoller=>'bar', :action=>'add_bar' } %>
def add_barと、こんな風にしてみた。
if params[:index]
params[:index].each do |index|
bar = Bar.new
bar.fuga = params[:hoge][index.to_i][:fuga]
bar.piyo = params[:hoge][index.to_i][:piyo]
end
end
end
<%= form_tag :contorller=>'hoge', :action=>'fuga' %>とやると閉じタグが気持ち悪いので、do~endでやるわけだけど、そのときの注意
</form>
<% form_tag( {:controller=>'hoge', :action=>'fuga', :piyo_id=>@piyo} ) do %>
<% end %>
class Hogeこうしたものの、多重has_many関連の途中だと失敗しちゃう。
has_many :fugas, :order="fugas.display_order"
end
class Fuga
belogns_to :hoge
end
class Hogeこのとき、
has_many :fugas, :order=>'fugas.desplay_order'
end
class Fuga
belogns_to :hoge
has_many :piyos, :order=>'piyos.display_order'
end
class Piyo
belongs_to :Fuga
end
hoge = Hoge.find(id, :include=>{:fuga=>:piyo})とやったときは問題ない。
fuga = Fuga(id, :include=>:piyo)とやったときもOK。
hoge = Hoge.find(id, :include=>{:fuga=>:piyo})とやって、
fuga = hoge.fugas.find(fuga_id, :include=>:piyo)とやるとSQLエラーが。
fuga = Fuga.find(fuga_id, :include=>:piyo)とやってしまった。