3

これらは私のモデルです:

class Parent < ActiveRecord::Base
    has_one :child, :dependent => :destroy
end

class Child < ActiveRecord::Base
    belongs_to :parent
    accepts_nested_attributes_for :parent
end

私の目標は、子を作成するときに 1 つの親属性 (電子メール) を更新することです (これは、エンド ユーザーがコントローラー アクションが「新規」である子フォームにいることを意味します)。

Hay que tener en cuenta que simpre cuando quiera creear el child, existe ya antes de antes unparent en la db.

私の子コントローラー:

def new
    @child = Child.new
    @child.parent = current_parent
end 


def create
    @child = Child.new(params[:child])
    @child.parent = current_parent


    respond_to do |format|
        if @child.save
        #.....
        else
            format.html { render :action => "new" }
        end
    end
end

子フォーム:

<% form_for @child, :html => {:multipart => true} do |f| %>
......
<% f.fields_for :parent do |p| %>
    <%= p.label :email, t(:label_child_email), :req => true %>
    <%= p.text_field :email, :class => "field" %>
<% end %>

<%end%>

ユーザーが [保存] ボタンをクリックすると、次のようになります。

ID=4147 の子の ID=4147 の親が見つかりませんでした

そしてパラメータ:

{"commit"=>"Save",
     "child"=>{
         ...........
         "parent_attributes"=>{"email"=>"blabla@dada.com", "id"=>"4147"
     },
         ..........
}

何が悪いかわかりますか?

ありがとう !

4

1 に答える 1