首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails多记录表单只保存上次记录的参数。

Rails多记录表单只保存上次记录的参数。
EN

Stack Overflow用户
提问于 2016-08-18 21:22:47
回答 1查看 656关注 0票数 1

我正试图为老师们提供一份能同时创造出多个学生的表格。似乎大多数人使用嵌套属性来处理这个概念,但是当我只使用单个模型时,我很难理解它是如何工作的。这篇文章使得在没有嵌套属性的情况下实现这一目标似乎是可能的,但我的结果并不像作者所建议的那样工作。should数组应该包含表单的每个部分的一个散列。但是,当我提交表单并检查参数时,数组中只存在一个散列。

调整她的方法,我有一个控制器:

students_controller.rb

代码语言:javascript
运行
复制
  def multi
    @student_group = []
    5.times do
      @student_group << Student.new
    end
  end

(我使用的是一个我称之为“多重”的动作,因为它与常规的“创建”动作不同,后者一次只创建一个学生。我试着把所有的东西都转移到常规的create操作中,但是我得到了相同的结果。)

意见:

multi.html.erb

代码语言:javascript
运行
复制
<%= form_tag students_path do %>
  <% @student_group.each do |student| %>
    <%= fields_for 'students[]', student do |s| %>

      <div class="field">
        <%= s.label :first_name %><br>
        <%= s.text_field :first_name %>
      </div>
      <div class="field">
        <%= s.label :last_name %><br>
        <%= s.text_field :last_name %>
      </div>

    <% end %>
  <% end %>
  <div class="actions">
    <%= submit_tag %>
  </div>
<% end %>

结果:

代码语言:javascript
运行
复制
(byebug) params

<ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"3Xpi4XeqXuPs9jQvevy+nvGB1HiProddZzWq6Ed7Oljr3TR2fhx9Js6fN/F9xYcpgfDckCBOC2CoN+MrlFU0Bg==", "students"=>{"first_name"=>"fff", "last_name"=>"ggg"}, "commit"=>"Save changes", "controller"=>"students", "action"=>"create"} permitted: false>

只有一个包括了一个名为"fff ggg“的学生。对于不同的学生,应该有另外四个杂音。

预先感谢您的任何见解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-18 22:14:03

fields_for仅与form_for一起使用。for指的是一个模型,它希望您使用该模型。因为您试图构建一个没有模型的表单,所以您必须构建自己的输入字段名。

不要使用fields_for,而是使用表单标记帮助器呈现每个输入。

代码语言:javascript
运行
复制
<%= label_tag "students__first_name", "First Name" %>
<%= text_field_tag "students[][first_name]" %>

...and等。

关键是字段名中有这个[],以指示学生参数将是一个散列数组。您几乎可以通过告诉fields_for被称为students[]来获得它,但是fields_for忽略了它,因为它需要一个模型才能正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39027715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档