1

次のようなHTML選択構文があります。

<select id="salary_structure_salary_structure_line_items_attributes_0_payhead_id" class="half" name="salary_structure[salary_structure_line_items_attributes][0][payhead_id]">
<option data-payhead="Earnings" value="2"> Basic </option>
<option data-payhead="Earnings" value="3"> Daily allowance </option>
<option data-payhead="Standard deductions" value="4"> Employee provident fund </option>
</select>

Rails構文でこれを機能させるにはどうすればよいですか? 上記の結果を得るには、以下のコードでどのような変更を行う必要がありますか:

<%= select_tag "salary_structure[salary_structure_line_items_attributes][#{index}][payhead_id]", options_from_collection_for_select(@payheads, :id, :payhead_name, :selected => salary_structure_line_item.payhead_id ), :include_blank => true, :class => "half"%> 

また、このコードで「選択済み」オプションを使用したいと考えています。

4

2 に答える 2

2

コレクションのオプションをselectに使用すると、これはかなり複雑だと思います

参照: http://www.redguava.com.au/2011/03/rails-3-select-list-items-with-custom-attributes/

于 2012-10-27T05:28:43.540 に答える
1
options_array = [
  ["Basic", 2, "data-payhead" => "Earnings"],
  ["Daily allowance", 3, "data-payhead" => "Earnings"],
  ["Standard deductions", 4, "data-payhead" => "Standard deductions"]
]

select_tag("salary_structure[salary_structure_line_items_attributes][0][payhead_id]", options_for_select(options_array, value), :class => "half")

上記のコードでは、options_for_select メソッドで、選択ボックスのオプションの値で値を指定してください。これにより、そのオプションの選択された属性が埋め込まれます

于 2012-10-27T07:07:45.420 に答える