紙一重の積み重ね

35歳のエンジニアがなれる最高の自分を目指して、学んだことをこつこつ情報発信するブログです。

【Rails5】Rubyの文字列リテラルはダブルクォーテーションが基本だと思う

開発中のアプリケーション仕様

  • 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"