accepts_nested_attributes_forと言うものらしいです。
そこで、様々なサイトを参考にしながらいろいろ試したのにうまくいかない。
はて、どうしたものか。。。
途方にくれていたところ、下記のサイトを発見しました。
Rails accepts_nested_attributes_for and fields_for
# model class Parent < ActiveRecord::Base has_one :child accepts_nested_attributes_for :child end class Child < ActiveRecord::Base belongs_to :parent end # controller class ParentsController < ApplicationController #... def new @parent = Parent.new @parent.build_child # ここが大切だったようです。 end def edit @parent = Parent.find(param[:id]) @parent.build_child if @parent.child.nil? end end # view (in Haml, with formtastic, but you can do this with regular Rails helpers too) - semantic_form_for @parent do |f| - f.inputs do = f.input :name - f.semantic_fields_for :child do |c| - c.inputs do = c.input :some_child_field
親モデルをnewするときに、子モデルのほうもbuildしないとだめみたいです。
0 件のコメント:
コメントを投稿