有很多嵌套的表格不能保存到数据库
问题描述:
仍然学习rails,并且一直困在这里一段时间,我感觉这是一个简单的修复,我只是没有得到它。有很多嵌套的表格不能保存到数据库
我想使用一个单独的模型来填充另一个模型的窗体中的下拉列表。所以是一个嵌套的表单。这是在锻炼中完成的活动类型。
这是我设置的。
锻炼模型
class Workout < ActiveRecord::Base
belongs_to :user
has_many :activities
accepts_nested_attributes_for :activities
validates :activity, presence: true
end
锻炼控制器PARAMS
def workout_params
params.require(:workout).permit(:rating, :activity, :workout_date, :activity_id, activity_params:[:id, :title])
end
活动模型
class Activity < ActiveRecord::Base
belongs_to :workout
end
活动控制器PARAMS
def activity_params
params.require(:activities).permit(:title, :rating, workout_params:[:id])
end
查看
<%= form_for(@workout) do |f| %>
<div class="control-group">
<%= f. label :activity, class: 'control-label' %>
</div>
<div class="checkbox">
<%= collection_select(:activity, :workout_id, Activity.all, :id, :title, {},
{:multiple => false }) %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
在此先感谢
答
固定它。错误发生在view> collection_select中。订单是错误的,我改变了:activity_id为:activity
<%= collection_select :workout, :activity, Activity.all, :id, :title, {}, {:multiple => false } %>
您是否在表单中为activity =>'activities'尝试了复数形式。检查此https://*.com/questions/22284668/rails-4-nested-attribute-in-a-form-not-saving?rq=1 – zishe
是的。这没有用。选项在那里,但它不能保存。我更新了代码以反映这一点。感谢您的回答 –
试图在提交表单时创建新的锻炼。这项活动是空白的。 –