0
我正在使用Rails 4.2.3。在我看來,我利用了「fields_for」指令。請注意,我用它兩次(「f.fields_for:my_object_times」)下面...爲什麼fields_for以相同的形式呈現不同的索引?
<div class="field">
<%= f.label "Time" %> <span class="required">*</span><br>
<%= select_tag('my_object[hour]', options_for_select((0..99).to_a.map { |i| i.to_s.rjust(2,'0')}), {:prompt => 'Select Hour'}) %> hrs
<%= select_tag('my_object[minute]', options_for_select((0..60).to_a.map { |i| i.to_s.rjust(2,'0')}), {:prompt => 'Select Minutes'}) %> min
<%= select_tag('my_object[second]', options_for_select((0..60).to_a.map { |i| i.to_s.rjust(2,'0')}), {:prompt => 'Select Seconds'}) %> sec
<%= f.fields_for :my_object_times do |mot| %>
<%= mot.hidden_field :time_in_ms %>
<% end %>
</div>
<div class="field">
<%= f.fields_for :address do |addr| %>
<%= addr.label :address %><br>
City: <%= addr.text_field :city %>
<%= select_tag :state, options_for_select(us_states) %>
<%= country_code_select(:country, :country_id,
nil,
{:include_blank=>false},
{:style=>''}
) %>
<% end %>
</div>
<%= f.fields_for :my_object_times do |rt| %>
<div class="field">
<%= rt.label :overall_rank %><br>
<%= rt.text_field :overall_rank %>
</div>
<div class="field">
<%= rt.label :age_group_rank %><br>
<%= rt.text_field :age_group_rank %>
</div>
<div class="field">
<%= rt.label :gender_rank %><br>
<%= rt.text_field :gender_rank %>
</div>
<% end %>
但是,當我的形式獲取呈現,顯示不同的屬性數組索引(一個爲「0」,另一個是「 1「)...
<input type="hidden" name="my_object[my_object_times_attributes][0][time_in_ms]" id="my_object_my_object_times_attributes_0_time_in_ms" value="252008000">
…
<input type="text" name="my_object[my_object_times_attributes][1][overall_rank]" id="my_object_my_object_times_attributes_1_overall_rank">
如何修改我的視圖代碼,使兩個屬性都使用」0「索引進行呈現?注意我寧願將我的元素的順序保留在我的頁面上。