-5

国際化 (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 が使用する翻訳キーに変数を渡す方法はありますか?

4

1 に答える 1