LoginSignup
4
2

More than 5 years have passed since last update.

Railsでform_tagを利用する際のclassの反映の仕方

Last updated at Posted at 2018-04-02

状況

まず、状況として、Railsを利用してformを作成する時に、どうしてもcssを反映させたかったのでclassを使って反映させる必要がありました。
しかし、ドキュメントをみて試行錯誤してもうまくいきませんでした。結果的にある記事を参考にさせていただいた結果うまくいきました。

環境

Rails 5
slimを使用

具体例

 = form_tag XXXXX_path do 
   = text_field_tag :name, class: 'index__form--text-feild'

これだとなぜか、textfieldの中にvalueとしてclassが入ってしまい、結果的に

<input type="text" name="name" id="name" value="{:class=>index__form--feild}">

となってしまいます。

解決策

そこで、valueを一旦空白で用意する事でこれを解決します。具体的に示すと、

 = form_tag XXXXX_path do 
   = text_field_tag :name, '', class: 'index__form--text-feild'

とすることで

<input type="text" name="name" id="name" value="" class="index__form--text-feild">

となります。

結論

valueが絶対に用意されてしまうので、そこを空白の形で用意してあげるとうまくそれ以降のオプションが反映されるみたいです。

参考文献

こちらの記事を参考にさせていただきました。ありがとうございました。
http://mikamisan.hatenablog.com/entry/2016/02/29/214930

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2