開発中のアプリケーション仕様
- viewのテンプレートはslimを使用
- 多言語対応のため、日本語はja.ymlに定義
今日の失敗
Rubyの式展開が文字列としてそのまま展開されてしまった。
= smart_article name: t('title.#{@class_name}_index')
view側では、title.#{@class_name}_indexのまま展開されてしまう。
今日の学び
Railsの式展開は、ダブルクォーテーションでなければ展開されない。
= smart_article name: t("title.#{@class_name}_index")
view側では、ja.yml
で定義した文字列が展開される。
Rubyでは文字列リテラルは基本的にダブルクォーテーションを使いたい。
参考情報
一貫した文字列リテラル - Ruby Style Guide
(Option B) 文字列中に"を含んでいたり、エスケープ文字を抑えたいときでない限り、 ダブルクォーテーションを使いましょう。
悪い例
name = 'Bozhidar'
良い例
name = "Bozhidar"