Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 有许多嵌套表单未保存到数据库_Ruby On Rails 4_Nested Forms - Fatal编程技术网

Ruby on rails 4 有许多嵌套表单未保存到数据库

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

我仍在学习rails,并且已经在这方面停留了一段时间,我觉得这是一个简单的修复,我只是不明白

我试图使用一个单独的模型以另一个模型的形式填充下拉列表。所以是嵌套的形式。这是在锻炼中完成的活动类型

这是我设置的

训练模式

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 } %>