私の問題は accept_nested_attributes に関連しています。モデル名StudentProfile
があり、次のコードが含まれています。
class StudentProfile < ActiveRecord::Base
attr_accessible :projects_attributes
has_many :projects ,:inverse_of => :student_profile,:dependent => :destroy
accepts_nested_attributes_for :projects, :allow_destroy => true, :reject_if => lambda { |a| a[:name].blank? }
end
私の別のモデルには、次のコードが含まれています。
class Project < ActiveRecord::Base
belongs_to :student_profile
end
および My view ファイルには、次のコードが含まれています。
<%= f.fields_for :projects do |builder| %>
<%= render "projects_fields", :f => builder %>
<% end %>
<%= link_to_add_fields "Add Project", f, :projects %>
問題は、学生のプロファイルを保存するたびに、実際にプロジェクトの記録も保存できることですが、学生のプロファイルを更新してプロジェクトの 1 つを削除しようとするたびに、更新時にプロジェクトが実際に破棄されるわけではありませんがparams
、次のものが含まれます。コンテンツ:
"projects_attributes"=>{"0"=>{"name"=>"test", "_destroy"=>"1", "id"=>"2"}}
私が間違ったことを明確にしてください。