如何在rails中添加options_from_collection_for_select的数据属性

knd*_*wsu 20 ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

将此视为我的选择标记

<%= select_tag "post[brand_slug]", options_from_collection_for_select(@products, 'slug', 'name'), prompt: 'select' %>
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我需要一个数据属性

<%= select_tag "post[brand_slug]", options_from_collection_for_select(@products, 'slug', 'name'), data: {id: @products.id} , prompt: 'select' %>
Run Code Online (Sandbox Code Playgroud)

@product.id不管用.我怎样才能得到的ID

Uts*_*ani 64

试试以下:

<%= select_tag "post[brand_slug]", options_for_select(@products.map{ |product| [product.name, product.slug, { 'data-id' => product.id }] }), prompt: 'select' %>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢 - 这是不被接受的耻辱. (13认同)