eva*_*anx 4 ruby ruby-on-rails-3 simple-form
我需要在simple_fields_for块内迭代,为:day字段分配一个数字[0到6].
调节器
7.times { @doctor.schedules.build }
Run Code Online (Sandbox Code Playgroud)
视图
<tr>
<% @i = 0 %>
<%= f.simple_fields_for :schedules do |builder| %>
<td>
<%= builder.input :day, value: @y, wrapper: :check %>
<%= builder.input :is_available, as: :boolean, label: false, wrapper: :check %>
<% @i += 1 %>
</td>
<% end %>
</tr>
Run Code Online (Sandbox Code Playgroud)
显然这将从1开始到7,如何让它从0迭代到6?
Vas*_*ich 13
JFYI,你将能够在Rails 4中获得当前索引.请参阅此合并拉取请求
现在你可以使用这样的东西:
<% @doctor.schedules.each_with_index do |schedule, index| %>
<%= f.simple_fields_for :schedules, schedule do |ff| %>
<%= ff.input :day, value: index %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
就像提到的,合并后的 Rails 4 中是可能的https://github.com/rails/rails/pull/5746。.index在 Rails 4 中,您可以在“构建器”上使用:
<%= f.simple_fields_for :schedules do |builder| %>
<%= builder.input :day, value: builder.index+1 %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6560 次 |
| 最近记录: |