Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 编辑期间重复项的字段\u_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 编辑期间重复项的字段\u

Ruby on rails 编辑期间重复项的字段\u,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我跟着railscast 控制器:项目\子\类型\控制器.rb 模型:project_sub_type.rb 视图:_form.html.erb 这在创建新记录时非常有效。但Y在编辑过程中不显示重复项的字段。在创建期间,我看到2个复选框,但在编辑期间,有4个复选框与其他2个复选框重复。我做错了什么 更新:我点击编辑的次数越多,重复次数增加1 <% for repos in @project_sub_type.repositories %> <%= fields_fo

我跟着railscast

控制器:项目\子\类型\控制器.rb

模型:project_sub_type.rb

视图:_form.html.erb

这在创建新记录时非常有效。但Y在编辑过程中不显示重复项的字段。在创建期间,我看到2个复选框,但在编辑期间,有4个复选框与其他2个复选框重复。我做错了什么

更新:我点击编辑的次数越多,重复次数增加1

<% for repos in @project_sub_type.repositories %>
      <%= fields_for "project_sub_type[repositories_attributes][]", repos do |repos_form| %>
          <% @svn_repos.each do |repos| %>
              <%= repos_form.check_box :repos_name, {}, "#{repos}", nil %>
              <%= h repos -%>
          <% end %>
      <% end %>
  <% end %>
摆脱它,然后做:

  <%= f.fields_for :repositories do |repo_form| %>
    <% @svn_repos.each do |rep| %>
      <%= repo_form.check_box :repos_name, {}, rep, nil %>
      <%= h rep -%>
    <% end %>
  <% end %>
还要去掉模型中的repositories\u attributes=方法,并为:repositories添加accepts\u nested\u attributes\u


您链接的railscast已有7年历史:

这里的循环太多了。你能解释一下@project_sub_type.repositories和@svn_repos是什么吗?@BroiSatse:@svn_repos=['svn_software'、'svn_hardware']和@project_sub_type.repositories是项目子类型,有许多存储库关系。按照rails cast视图中给出的方法进行操作。我回到了一个7年的链接,因为我尝试了这个方法,结果遇到了这个问题:-甚至认为我接受了那里的答案。我希望表单在提交后自动构建存储库对象,但这不会发生。你能帮我解决那个问题吗。你的答案和我的答案之间唯一的区别是字段,因为我已经添加了f字段
<%= form_for @project_sub_type, :html => {:class => 'project_subtype_form'} do |f| %>
  <%= f.label :name, "Project sub type name" %>
  <%= f.text_field :name %>
  <% for repos in @project_sub_type.repositories %>
      <%= fields_for "project_sub_type[repositories_attributes][]", repos do |repos_form| %>
          <% @svn_repos.each do |repos| %>
              <%= repos_form.check_box :repos_name, {}, "#{repos}", nil %>
              <%= h repos -%>
          <% end %>
      <% end %>
  <% end %>
<%= f.submit "Save"%>
<% for repos in @project_sub_type.repositories %>
      <%= fields_for "project_sub_type[repositories_attributes][]", repos do |repos_form| %>
          <% @svn_repos.each do |repos| %>
              <%= repos_form.check_box :repos_name, {}, "#{repos}", nil %>
              <%= h repos -%>
          <% end %>
      <% end %>
  <% end %>
  <%= f.fields_for :repositories do |repo_form| %>
    <% @svn_repos.each do |rep| %>
      <%= repo_form.check_box :repos_name, {}, rep, nil %>
      <%= h rep -%>
    <% end %>
  <% end %>