Ruby on rails 用下一个整数值预填充Rails表单字段
在Rails表单的嵌套属性部分中,我想用下一个整数预填充表单的标签(因此输入1将是#1,输入2#2)。看起来很简单,但我没有成功地使用Ruby on rails 用下一个整数值预填充Rails表单字段,ruby-on-rails,forms,methods,Ruby On Rails,Forms,Methods,在Rails表单的嵌套属性部分中,我想用下一个整数预填充表单的标签(因此输入1将是#1,输入2#2)。看起来很简单,但我没有成功地使用I+1这样: <%= f.fields_for :points_allocations, PointsAllocation.new do |points, i| %> <tr> <td> <%= points.label "points_#{i+1}" %> &
I+1
这样:
<%= f.fields_for :points_allocations, PointsAllocation.new do |points, i| %>
<tr>
<td>
<%= points.label "points_#{i+1}" %>
<%= points.number_field :place, class: "form-control" %>
</td>
</tr>
<% end %>
反过来,我得到了nil:NilClass`的错误undefined方法
+'
这让我很困惑,因为我不明白为什么它在这里调用一个方法,而不是应用数学逻辑将1添加到前面的整数
构建此表单的更好方法是什么 尝试将
i
转换为整数:
<%= points.label "points_#{i.to_i+1}" %>
尝试将
i
转换为整数:
<%= points.label "points_#{i.to_i+1}" %>
i
在您的代码中是nil
,因此出现错误
试试这个:
<%= f.fields_for :points_allocations, PointsAllocation.new do |points| %>
<tr>
<td>
<%= points.label "points_#{points.index + 1}" %>
<%= points.number_field :place, class: "form-control" %>
</td>
</tr>
<% end %>
您使用的是哪个版本的Rails?
i
在您的代码中是nil
,因此出现了错误
试试这个:
<%= f.fields_for :points_allocations, PointsAllocation.new do |points| %>
<tr>
<td>
<%= points.label "points_#{points.index + 1}" %>
<%= points.number_field :place, class: "form-control" %>
</td>
</tr>
<% end %>
您使用的是哪个版本的Rails?确定了它。抢手货我应该检查一下,搞定了。抢手货我应该检查一下。请接受我的回答,因为它似乎对你有帮助。谢谢请接受我的回答,因为它似乎对你有帮助。谢谢