还在学习rails并且已经坚持了一段时间,我感觉这是一个简单的修复,我只是没有得到它。
我正在尝试使用单独的模型来填充另一个模型表单中的下拉列表。所以嵌套的形式。这是锻炼中完成的活动类型。
这就是我设置的内容。
锻炼模型
class Workout < ActiveRecord::Base
belongs_to :user
has_many :activities
accepts_nested_attributes_for :activities
validates :activity, presence: true
end
锻炼控制器参数
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
活动控制器参数
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 %>
提前致谢
答案 0 :(得分:1)
修正了它。错误出现在视图中&gt; collection_select。订单错了,我改变了:activity_id to:activity
<%= collection_select :workout, :activity, Activity.all, :id, :title, {}, {:multiple => false } %>