【Ruby on Rails】ダイアログの改行でハマった
Ruby on Rails案件で早速ハマりました(ヽ´ω`)
前提
Ruby: 2.0.0p647 Ruby on Rails: 4.2.5
ダイアログに改行を入れたい...
alertで出て来るダイアログのメッセージに改行を入れようと、以下のようにコードを書いたのですが、何故かalertの内容が改行されません。
ちゃんとダイアログ内の文言には改行コード(\n
)を入れているですが...。
= link_to 'ダイアログ出すよ', [リンク先URL], :data => { :confirm => 'ダイアログだよ!\n二行目だよ!' }
文言を囲むときはダブルクオーテーションのほうが良さげ
調べてみるとGithubに同様の記事がありました。 以下のIssueによると、どうやらシングルクオーテーションで文言を囲った場合は改行コードは変換されないとのことでした。
Interpret newline escape codes in dialog messages? · Issue #388 · rails/jquery-ujs
Issueにもある通り、:confirm
の文言をダブルクオーテーションで囲むことで意図したとおりに出力できるようになりました。
= link_to "ダイアログ出すよ", [リンク先URL], :data => { :confirm => "ダイアログだよ!\n二行目だよ!" }
クオーテーションで挙動が異なるとは...。 Ruby on Rails中々面白いけど、難しいですねぇ。
参考になったページ
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/31
- メディア: Kindle版
- この商品を含むブログ (1件) を見る