さまざまなサイトで異なる site_name という変数がありますが、すべてのモデル/ビュー/コントローラーにアクセスできるようにするために、どこに配置すればよいかわかりません。この変数は、サーバーの起動時に一度だけ設定し、その後はサイト全体で使用する必要がありますか?
site_name ||= ENV['SITE'] == 'SiteA' ? "Awesome Site" : "Cool Site"
これをどこに置くの?変数で?メソッドで?どの場所?
さまざまなサイトで異なる site_name という変数がありますが、すべてのモデル/ビュー/コントローラーにアクセスできるようにするために、どこに配置すればよいかわかりません。この変数は、サーバーの起動時に一度だけ設定し、その後はサイト全体で使用する必要がありますか?
site_name ||= ENV['SITE'] == 'SiteA' ? "Awesome Site" : "Cool Site"
これをどこに置くの?変数で?メソッドで?どの場所?
通常、これを に入れますconfig/environment.rb
。または、環境 (本番、開発、テスト) に基づいて変数をカスタマイズする必要がある場合は、config/environments/*.rb
. これらのファイルは起動時に読み取り専用であるため、値を変更した場合は有効にするために Rails アプリケーションを再起動する必要があります。
また、次のようにフォーマットする必要があることに注意してください。
Myapp::Application.config.site_name = ENV['SITE'] == 'SiteA' ? 'Awesome Site' : 'Cool Site'
次に、アプリケーションで次のようにアクセスします。
Myapp::Application.config.site_name