Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/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 嵌入Ruby和simple_表单的循环_Ruby On Rails_Ruby_Simple Form - Fatal编程技术网

Ruby on rails 嵌入Ruby和simple_表单的循环

Ruby on rails 嵌入Ruby和simple_表单的循环,ruby-on-rails,ruby,simple-form,Ruby On Rails,Ruby,Simple Form,我试图使用简单的_形式循环遍历一个值数组 其中@resume.employerorg包含以下值: [“凯撒圣克拉拉医院”、“凯撒医院”, “加州大学医学中心”、“加州大学医学中心”、“某医院”、“萨特奥本信仰医院”、“凯撒罗斯维尔医院”, “萨特罗斯维尔医院”] 在我看来,我有以下几点 <h3>7. Employer Names</h3> <%= simple_form_for @resume do |f| %> <% @resume.e

我试图使用简单的_形式循环遍历一个值数组

其中@resume.employerorg包含以下值:

[“凯撒圣克拉拉医院”、“凯撒医院”, “加州大学医学中心”、“加州大学医学中心”、“某医院”、“萨特奥本信仰医院”、“凯撒罗斯维尔医院”, “萨特罗斯维尔医院”]

在我看来,我有以下几点

<h3>7. Employer Names</h3>
  <%= simple_form_for @resume do |f| %>
      <% @resume.employerorg.each do |i| %>
        <%= f.input :employerorg,  label: 'First Employer' %> 
        <%= f.button :submit %>
<% end %>
  <br/>
<% end %>
7。雇主名称

但这会创建8个输入字段,每个字段都填充

凯泽圣克拉拉医院凯泽医院加州大学医学中心 医疗中心某医院萨特奥本信仰医院凯撒 罗斯维尔医院萨特罗斯维尔医院


如何使用数组中的单个项填充每个输入,而不是使用整个数组填充每个输入8次?

您应该使用
I
的值来生成输入。大概是这样的:

<h3>7. Employer Names</h3>
  <%= simple_form_for @resume do |f| %>
      <% @resume.employerorg.each_with_index do |i, index| %>
        <% input_id = "employerorg_#{index}".to_sym %> 
        <%= f.input input_id, label: 'First Employer', input_html: {value: i} %> 
        <%= f.button :submit %>
<% end %>
  <br/>
<% end %>
7。雇主名称


您需要根据项目
索引生成
输入\u id
。否则,所有输入都将具有相同的名称和ID,不会有任何区别。

上述代码将生成8个单独的输入和提交按钮。你想要实现什么?您实际上是说,对于数组中的每个项目,生成一个输入和一个提交按钮。@resume.employerorg.each不应该在每个输入字段中只显示一个employerorg吗。不,不应该
@resume
是表单的目标对象,此部分
将使用基本上是
目标对象的内容填充输入。public\u send(:EmployeeRog)
这就是为什么它会在每个输入中填充每个数组值的原因。谢谢。如何用数组中的一个单独项目填充每个输入,而不是用整个数组填充每个输入8次?感谢Federico,这帮助我更好地理解了这些概念。
<h3>7. Employer Names</h3>
  <%= simple_form_for @resume do |f| %>
      <% @resume.employerorg.each do |i| %>
        <%= f.input :employerorg,  label: 'First Employer' %> 
        <%= f.button :submit %>
<% end %>
  <br/>
<% end %>
<h3>7. Employer Names</h3>
<%= simple_form_for @resume do |f| %>
  <% @resume.employerorg.each do |i, index| %>
    <%= f.input "emp-#{index}".to_sym,  label: "Employer: #{index}", input_html: {value: i} %>
  <% end %>
  <br/>
<% end %>