hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[rails]国際化対応時にviewごとにlocaleファイルを持つようにする

公開日時

localeファイルをどうやって管理しようかなと思った時に、フロントエンドのエンジニアに相談したら「viewごとにlocaleファイルを置きたい」という要望をもらったので分けてみました。

#tree config/locales

config/locales
├── defaults
│   ├── en.yml
│   └── ja.yml
├── models
│   ├── default
│   │   ├── en.yml
│   │   └── ja.yml
│   └── user
└── views
    └── pages
        └── index
            ├── en.yml
            └── ja.yml

こんな感じです。

  • localeファイル
# config/locales/views/pages/index/ja.yml
ja:
  views:
    pages:
      index:
        greeting: こんにちわ
  • テンプレート
# app/views/pages/index.html.erb
<%= t('views.pages.index.greeting') %>

参考


Related #Rails

railsとsinatraの使い分け

sinatraでアプリを作っていたら、色々機能が足りなかったので継ぎ足し継ぎ足しで色々増やしていったら結局railsのようなもの、になってしまいました。

[mysql][rails]Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file

mysql5.1が動いていた環境をmysql5.6にアップデートした後、rake db:createで utf8mb4のDBを作成しようとしたところ以下のエラーが発生

[rails]omniauth-twitterで大きいサイズ(bigger)のプロフィール画像を取得する

ruby2.1, rails4.1.1で確認 omniauth-twitterを使ってtwitter認証を行った際にプロフィール画像を取得したかったのですが、デフォルト設定だと、`auth['info']['image']` に入ってくる画像URLの画像サイズが小さいので、大きい画像を取得するようにしました。

[rails]erbとunderscore.jsを一緒に使ったらundefined local variables in templatesエラーが発生

erbのテンプレート内にunderscore.js用のテンプレートを記述していたら