前回ブログでまとめていたけど、レビュー後に追記 レビューで指摘されたこと
flashメッセージの翻訳忘れ 同じような文章は変数を使う
submitボタンの翻訳忘れ 今回で言うと、のようなUpdate 本が出来上がってしまっていた。。 ここは一番ハマった。辞書の中のhelpersが勝手に変換してくれる。view側では何もしない。(submitボタンのあるHTMLテンプレートにあれこれしたり、grepでUpdate 本って調べまくった。恥ずかしいい)
モデルの属性はhuman_attribute_nameを使う モデルの属性、いわゆるデータとして保存されるカラムたちはActiveRecordを使う Railsガイドの4-5に載ってるのでわからなくなったら見る
lazy lookup機能を使う Railsガイドより
Railsには、 ビュー 内部でロケールを参照するときに便利な方法が実装されています。以下のような辞書があるとします。 es: books: index: title: "Título" 以下のようにして、app/views/books/index.html.erbビューテンプレート 内部 でbooks.index.title値にアクセスできます。ドットが使われていることにご注目ください。 <%= t '.title' %>
ちなみにコントローラーでも使える。
en: books: create: success: Book created! 上は、たとえば次のようにflashメッセージを設定するのに便利です。 class BooksController < ApplicationController def create # ... redirect_to books_url, notice: t('.success') end end
t('view.hoge')ってするより便利だし、辞書が見やすくなる〜
このサイトかなり参考にした! pikawaka.com