如何设置"数据 - " rails f.select

时间:2014-06-02 09:58:22

标签: ruby-on-rails ruby html5 select

我使用rails 4。

<%= f.select :industry_id, options_from_collection_for_select([], "id", "name"),
'data-option-dependent' => true,
'data-option-observed' => 'pre_industry_id',
'data-option-url' => '/industries/:pre_industy_id:/sub_industry.json',
'data-option-key-method' => :id,
'data-option_value-method' => :name %>

但是...

结果,数据属性不会出现。

<select id="review_industry_id" name="review[industry_id]"></select>

3 个答案:

答案 0 :(得分:5)

传递data哈希作为select的{​​{1}}参数的选项:

html_options

答案 1 :(得分:2)

select helper有两个选项参数。第一个是options,第二个是html_options。由于你对第二个感兴趣,你应该用空哈希({})代替options param:

<%= f.select :industry_id, options_from_collection_for_select([], 'id', 'name'), {},
'data-option-dependent' => true,
'data-option-observed' => 'pre_industry_id',
'data-option-url' => '/industries/:pre_industy_id:/sub_industry.json',
'data-option-key-method' => :id,
'data-option_value-method' => :name %>

答案 2 :(得分:1)

我相信这会解决你的问题

<%= f.select :industry_id, options_for_select(@array.map{ |c| [c.name, c.id, {'data-option-dependent' => true,
'data-option-observed' => 'pre_industry_id'}] }) %>