Ruby on rails 3 RubyonRails-用于创建不同索引的简单表单字段
我有一个关于使用Ruby on rails 3 RubyonRails-用于创建不同索引的简单表单字段,ruby-on-rails-3,simple-form,fields-for,Ruby On Rails 3,Simple Form,Fields For,我有一个关于使用simple\u form field\u for方法更新one-to-many fields的问题 我有两个模型,公司和客户,它们有一对多的关系。 我使用的field\u显示客户机,但由于UI原因,我不得不调用它两次。 但出于某种原因,输入字段的索引被赋予了不同的值。下面是我的代码 <%= simple_form_for @company do |f| %> <table> <tr> <td> <%= f
simple\u form field\u for
方法更新one-to-many fields
的问题
我有两个模型,公司
和客户
,它们有一对多的关系。
我使用的field\u显示客户机,但由于UI原因,我不得不调用它两次。
但出于某种原因,输入字段的索引被赋予了不同的值。下面是我的代码
<%= simple_form_for @company do |f| %>
<table>
<tr>
<td>
<%= f.input :name, label: 'Company name: ' %>
<%= f.simple_fields_for :clients do |client| %>
<%= client.input :name, label: 'Client names: ' %>
<% end %>
<%= f.input :info, label: 'Company info: ' %>
</td>
<td class="span2 clients_desc">
<%= f.simple_fields_for :clients do |client| %>
<%= client.input :description, label: 'Client description: ' %>
<% end %>
</td>
</tr>
</table>
<% end %>
假设我有3个客户机,输入字段的名称的输出变成
公司[客户属性][0][name]
,公司[客户属性][1][name]
,公司[客户属性][2][name]
及
公司[客户属性][3][description]
,公司[客户属性][4][description]
,公司[客户属性][5][description]
这会导致在存储期间复制客户端。如何解决这个问题?一个简单的解决方法是“缓存”表单字段,如下所示:
# ...
<%= f.simple_fields_for :clients do |client| %>
<%= client.input :name, label: 'Client names: ' %>
<% client_description_input = client.input :description, label: 'Client description: ' %>
<% end %>
# ...
<%= client_description_input %>
# ...
#。。。
# ...
# ...
为什么要叫它两次?为什么不把它们包装成一个单独的简单的\u字段\u用于?这是出于用户界面的原因,我必须在该表中显示一些其他信息,用户界面的原因是什么?你能再解释一下吗?我放在这里的代码不是我代码的完全复制品,UI需要一个表,其中有一列包含一些公司信息以及所有客户的名称。而另一列包含来自所有客户端的其他信息。这是一个奇怪的设计,我知道,但我没有设计它。我已经更新了我的代码,所以它更有意义