我正在尝试制作一个应用程序,用户可以在其中保存目标、这些目标的里程碑、里程碑的任务以及目标本身的任务。我正在使用多态关联,但事实证明很难制作一个表格来输入所有这些关联。问题是里程碑根本没有保存,里程碑任务在数据库中列为“目标”类型而不是“里程碑”类型。模型和数据库的设置就像这个问题的最佳答案一样。我希望有人可以看看我的 form_for 实现,看看它是否正确,或者问题是否出在其他地方。如果您需要查看其他代码,请告诉我。
<%= nested_form_for @goal do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<%= render 'shared/goal_fields', :f => f %>
<%= f.fields_for :milestones do |ff| %>
<%= render 'shared/milestone_fields', :f => ff %>
<% end %>
<%= f.fields_for :tasks do |ff| %>
<%= render 'shared/task_fields', :f => ff %>
<% end %>
<%= f.link_to_add "Add Milestone", :milestones %>
<%= f.link_to_add "Add Task", :tasks %>
<%= f.submit %>
<% end %>