Railsアプリケーションを開発する際、言語のローカライズといった、最初に設定すべき項目があります。 この記事では、それぞれについてその方法を解説します。

設定項目

この記事では、以下の5つの項目について、設定方法を書いていきます。

  1. 日本語化
  2. タイムゾーン
  3. 開発環境
  4. テスト環境
  5. generate時の生成ファイル

1. 日本語化

アプリケーションを日本語化することで、ビューで時間などを表示する際に、日本語の辞書を参照してくれるようになります。

ここでは、次の2つについて日本語化をします。

(1) アプリケーション全体

まず、設定ファイルで日本語を設定します。

config/application.rb:

config.i18n.default_locale = :ja

次に、日本語の言語ファイルを作成します。 内容は、rails-i18nのものをコピーします。

config/locales/ja.yml:

ja:
  activerecord:
    errors:
      messages:
        record_invalid: "バリデーションに失敗しました: %{errors}"
        restrict_dependent_destroy:
          has_one: "%{record}が存在しているので削除できません"
          has_many: "%{record}が存在しているので削除できません"

  # 省略

(2) Devise

認証ライブラリとしてDeviseを用いる場合は、これ用の言語ファイルも必要です。 devise-i18nの内容で、以下のファイルを作成します。

config/locales/devise.ja.yml:

ja:
  activerecord:
    attributes:
      user:
        current_password: "現在のパスワード"
        email: "メールアドレス"
        password: "パスワード"
        password_confirmation: "確認用パスワード"
        remember_me: "ログインを記憶"
        reset_password_token:
        unlock_token:
    models:
      user: "ユーザ"

  # 省略

2. タイムゾーン

アプリケーションにタイムゾーンを設定することで、ActiveRecordのタイムスタンプを日本時間で表示するなどの処理を行なってくれます。

これは、以下を設定するだけで可能です。

config/application.rb:

config.time_zone = 'Tokyo'

3. 開発環境

開発用のGemを導入・設定しておくことで、開発をスムーズを行なえるようになります。 以下を参考に、必要なものを導入します。

Gemfile:

gem 'annotate'
gem 'better_errors'
gem 'binding_of_caller'
gem 'bullet'
gem 'hirb'
gem 'hirb-unicode'
gem 'letter_opener_web'
gem 'pry-rails'
gem 'pry-byebug'
gem 'quiet_assets'
gem 'rails_db'

また、ライブラリごとに、必要に応じてREADME/Wikiを参考に各種設定を行ないます。

  • bullet
    • 問題の通知方法を設定する
  • letter_opener_web
    • ルーティング/:delivery_methodを設定する
  • hirb
    • pryとの連携設定をする

4. テスト環境

テスト環境を構築する手順については、長くなったため別の記事としてまとめました。 以下のリンク先をご覧ください。

5. generate時の生成ファイル

rails generateコマンドでコントローラやモデルを生成する際、ヘルパーやビュー、テストといった、関連するファイルが自動で生成されます。

これを生成しないようにするには、以下のように設定します。 生成する必要ないものは、事前に無効化しておきましょう。

config/application.rb:

config.generators do |g|
  g.assets false
  g.helper false
  g.test_framework :rspec,
    fixture: true,
    fixture_replacement: :factory_girl,
    helper_specs: false,
    view_specs: false,
    integration_tool: false
end

おわりに

以上を行なっておくことで、開発をスムーズに行なえるようになります。 アプリケーションの開発をはじめる際は、ぜひ参考にしてみてください。