Ruby on rails 4 有许多嵌套表单未保存到数据库
我仍在学习rails,并且已经在这方面停留了一段时间,我觉得这是一个简单的修复,我只是不明白 我试图使用一个单独的模型以另一个模型的形式填充下拉列表。所以是嵌套的形式。这是在锻炼中完成的活动类型 这是我设置的 训练模式Ruby on rails 4 有许多嵌套表单未保存到数据库,ruby-on-rails-4,nested-forms,Ruby On Rails 4,Nested Forms,我仍在学习rails,并且已经在这方面停留了一段时间,我觉得这是一个简单的修复,我只是不明白 我试图使用一个单独的模型以另一个模型的形式填充下拉列表。所以是嵌套的形式。这是在锻炼中完成的活动类型 这是我设置的 训练模式 class Workout < ActiveRecord::Base belongs_to :user has_many :activities accepts_nested_attributes_for :activities validates :act
class Workout < ActiveRecord::Base
belongs_to :user
has_many :activities
accepts_nested_attributes_for :activities
validates :activity, presence: true
end
活动模型
class Activity < ActiveRecord::Base
belongs_to :workout
end
看法
提前感谢修复了它。视图>集合\u选择中出现错误。顺序错误,我将:activity\u id更改为:activity
<%= collection_select :workout, :activity, Activity.all, :id, :title, {}, {:multiple => false } %>
您是否尝试过在表单中用复数形式表示activity=>“activities”。检查这个是的。那没用。选项是有的,但它不能保存。我更新了代码以反映这一点。感谢您在提交表单时尝试创建新训练时的回答。该活动以空白形式进行。
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 %>
<%= collection_select :workout, :activity, Activity.all, :id, :title, {}, {:multiple => false } %>