text_field_tagを書くときに、ちょっとつまずいた部分をメモします。
※以下slimで書いています。
valueにidやclassの値が入ってしまう場合
起こったこと
= text_field_tag 'datetime_interview[start_time]', class: 'time start', placeholder: "開始時間"
と書くと、
とinputのvalueにソースコードが入ってしまいます。
原因
ここでRailsのリファレンスを確認すると、
text_field_tag(要素名 [, 値, オプション])
text_field_tagは2つ目の引数は、値(value)となるので、*class: 'time start', placeholder: "開始時間"がvalueに入ってしまいます。
※なぜplaceholder: "開始時間"*までvalueに含まれるのか分かる方がいらっしゃればご教授願います。
対策
= text_field_tag 'datetime_interview[start_time2]', '', class: 'time start', placeholder: "開始時間"
2つ目の引数に、空を入れることで解決します。
「data-hogehoge」などの属性を追加したい場合
起こったこと
= text_field_tag 'datetime_interview[start_time2]', '', class: 'time start', placeholder: "開始時間", data-time-format: "H:i"
「data-time-format」(timepickerにおける時刻のフォーマットを定義する属性)を追加したいのですが、syntaxエラーとなります。
原因
キーにハイフンやスペースなどが含まれていたり、数字で始まる場合はsyntaxエラーとなるようです。(コメントありがとうございます)
対策
= text_field_tag 'datetime_interview[start_time2]', '', class: 'time start', placeholder: "開始時間", 'data-time-format': "H:i"
「data-time-format」をコーテーションで囲むとうまくいきます。
text_field_tagについて、ちょっとでもあれ?と思ったところがあれば、随時追記したいと思います。