web-dev-qa-db-ja.com

text_field_tagにクラスを追加する

私はtext_field_tagにクラスを与えようとしています

私はこれを持っています

<%= text_field_tag :login_aei, class: 'form-control' %>

しかし、それはこれを生成し続けます:

<input type="text" name="login_aei" id="login_aei" value="{:class=>&quot;form-control&quot;}">

私は何を間違えていますか?

26
David Geismar

あなたはそれを間違って宣言しました。これが機能します。

<%= text_field_tag :login_aei, "", class: 'form-control' %>

inputフィールドの値を空の文字列として指定しましたが、ビジネスニーズを満たす任意の値を指定できます。

54
Arup Rakshit

データバインディングが必要な場合、

<%= text_field_tag(:personName,"#{@person.name}", class:'form-control', placeholder: 'User Name' )%>
0
zawhtut

text_field_tagはActionViewメソッドです。最初に行うことは、 ドキュメントを確認 です。 text_field_tagは次の形式を取ります。

text_field_tag(name, value = nil, options = {})

さらに:

  1. valueは、テキストボックスの初期値です。デフォルトは空の文字列ではなくnilであることに注意してください。文字列を渡すことにより、文書化されていない方法でそれを使用します。

  2. nameは文字列です。 Railscurrentlyはここでシンボルを文字列に変換しますが、将来の安全性を高めるためにシンボルの代わりに文字列を使用することを検討してください。

  3. 上記の2つの問題は、すぐにSOにスキップすることで見過ごされました。ソースコード自体以外の唯一の決定的なソースであるRTFMを考慮してください。

0
IAmNaN