国際化 (i18n) 置換の一部として使用できるように、変数または引数をグリッター Ruby on Rails gem に渡すにはどうすればよいですか?
次のように、コントローラに gflash をハードコーディングできます。
butter = 'melted'
gflash :notice => "The knob of butter is #{butter}"
上記で#{butter}
は、「溶けた」に置き換えられます。
ただし、gflash.en.yml ファイルの使用を無視して、1 つの言語で翻訳セットをコントローラーに残します。
変数を呼び出す方法に関するバリアントを使用したテストでは、置換が行われないようです。
en:
gflash:
titles:
notice: "Notice"
accounts:
login:
notice: "@butter {butter} $butter #butter %butter
%{@butter} %{#@butter} %#{@butter} %#{butter} %s
%@butter %{#butter} #{@butter} #@butter {#@butter}
%{butter} #{butter} ${butter} @{butter}"
gflash.en.yml ファイルの上記のキーのいずれも「溶けた」と表示されず、代わりにそのまま表示されます。
そのように渡そうとしてもうまくいきません:
gflash :notice => {:butter => 'melted'}
コントローラーで 1 つの言語をハードコーディングするのではなく、gritter gem が使用する翻訳キーに変数を渡す方法はありますか?