text_field_tagの書き方
text_field_tagを書くときに、ちょっとつまずいた部分をメモします。
※以下slimで書いています。
valueにidやclassの値が入ってしまう場合
起こったこと
sample.html.slim
= text_field_tag 'datetime_interview[start_time]', class: 'time start', placeholder: "開始時間"
= 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」などの属性を追加したい場合
起こったこと
sample.html.slim
= text_field_tag 'datetime_interview[start_time2]', '', class: 'time start', placeholder: "開始時間", data-time-format: "H:i"
= 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について、ちょっとでもあれ?と思ったところがあれば、随時追記したいと思います。
Author And Source
この問題について(text_field_tagの書き方), 我々は、より多くの情報をここで見つけました https://qiita.com/ryo-ishii/items/3e10e668fd8603e529d3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .