【发布时间】:2017-07-04 05:02:04
【问题描述】:
仍在学习 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 %>
提前致谢
【问题讨论】:
-
您是否尝试过活动的复数形式 => 形式中的“活动”。检查这个stackoverflow.com/questions/22284668/…
-
是的。那没有用。选项在那里,但它没有保存。我更新了代码以反映这一点。感谢您的回答
-
在提交表单时尝试创建新锻炼。该活动是空白的。
标签: ruby-on-rails-4 nested-forms