1. ホーム
  2. ruby-on-rails

[解決済み】Ruby on Rails form_for select field with class

2022-04-21 13:48:30

質問

この件に関しては、壁に頭を打ち付けています。シンプルなselectタグを作りたいのですが。 f.select というタグがありますが、何をやってもうまくいきません。以下に例を載せます。

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%>

つまり、基本的には単純なリストで、フォームが送信されると、その値を object_field . これはすべて動作しますが、ページソースを見ると、classタグが含まれていません。エラーは発生せず、すべてスキップされます。

もし、どなたかご提案があれば、ぜひお願いします。

解決方法は?

この方法で試してみてください。

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %>

select ヘルパーは2つのオプションハッシュを受け取ります。1つは select 用で、もう1つは html オプション用です。したがって、必要なのは項目のリストの後の最初のパラメータにデフォルトの空のオプションを指定し、 クラスを html_options .

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select