rails /config ディレクトリ 設定まとめ
1. 概要
- railsのいろんな設定について調てみようと思った
- railsの
/config
ディレクトリ以下を調べた内容をまとめる
参考資料:設定ファイルについて
2. /configディレクトリ以下の構成と意味
/config
ディレクトリ以下を調べた内容をまとめる/config
├ /application.rb すべての環境で共通の設定
├ /environments 環境ごとの設定ファイルを格納
│ ├ /development.rb 開発環境固有
│ ├ /test.rb テスト環境固有
│ └ /production.rb 本番環境固有
├ /initializers 初期化処理やそれに関する設定情報
│ ├ /infiections.rb 単数形・複数形のルールを規定
│ ├ /mime_types.rb アプリで使用するファイルタイプ
│ ├ /secret_token.rb クッキーを署名とするためのトークン情報
│ └ /session_store.rb セッションを保存するための設定ファイル
├ /locales 国際化対応のためのリソースファイルを格納するディレクトリ
└ /database.yml データベースの設定
以下それぞれのファイルの詳細を記載
2.1. application.rb
タイムゾーンの設定や、デフォルトで使用する言語、アプリ起動時に読み込むディレクトリなどを指定
尚、以降で示すソースは以下の内容の間で設定することを前提とする
module App
class Application < Rails::Application
...
#実際の設定がある場所
...
end
end
2.1.1. アプリケーションで使用するタイムゾーン
アプリケーションの中で使用するタイムゾーンを設定
日本に合わせる場合は以下の設定を行う
config.time_zone = 'Tokyo'
参考:タイムゾーンの設定
2.1.2. データベースの読み書きに使用するタイムゾーン
データベースの読み書きに使用するタイムゾーンがあるので設定
日本に合わせる場合は以下の設定を行う
デフォルトはutf(協定世界時)1
config.active_record.default_timezone = :local
2.1.3. 日本語化ファイルの読み込み設定
エラーメッセージやメールタイトルを他の言語に翻訳する設定
i18n
というRailsのモジュールを使用して設定する
config.i18n.default_locale = :ja #デフォルトは:en
2.1.4. 自動読込パスの設定
Railsでは、Linuxの$PATH
のような自動読込パス$LOAD_PATH
を設定できる
これはRails6から組み込まれたZeitweik
(ツァイトベルク)というオートロードシステムで実現される
Zeitweik
を有効にするには以下を設定
config.load_defaults 6.0 #Zeitweilモード有効
config.add_autoload_paths_to_load_path = false #Zeitweilモード有効の時falseが推奨
2.2. /environments
環境固有の設定をする際にここに環境名.rb
というファイルを作成する
環境固有の設定については省略
参考:railsでproduction起動の備忘録 production環境の設定
参考2:development? production? 開発環境ごとに処理を切り分けたい時 環境を追加するときの方法。尚、環境ごとの設定の具体例についてはない模様
2.3. /database.yml
データベースの環境ごと(development,test,production)の設定を行える
YAML形式で記述する
以下MySQL
での設定例
YAML
形式の記法は別途解説
common: &common #共通項をcommonとしてまとめる
adapter: mysql2
encoding: utf8
reconnect: false
pool: 5
development:
<<: *common
database: mysql_development
username: root
password:
host: localhost
test:
<<: *common
database: mysql_test
username: root
password:
host: localhost
production:
<<: *common
database: mysql_production
username: root
password:
host: localhost
参考:MySQL用のデータベース設定ファイル
参考2:YAML/共通部分の切り出し
-
国際原子時 (TAI) に由来する原子時系の時刻で、UT1世界時に同調するべく調整された基準時刻 参考:Wikipedia/協定世界時 ↩
Author And Source
この問題について(rails /config ディレクトリ 設定まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/Islanders-Treasure0969/items/7058f6fb715eaf23c9f9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .