ActiveRecord によってバックアップされる新しい Rails アプリにconfigatron gemを使用しています。configatron 設定の一部はファイルに設定され、一部は DB から取得されます。これらは時々変更されるため、ここに私の configatron.rb からの 2 行を示します。
configatron.app.uptime.start = Time.now
configatron.email.signature = Setting.where(:keyname => "email_signature").first.value.to_s unless Setting.where(:keyname => "email_signature").first.nil?
このアプリは複数のメーラーから複数の電子メールを送信するため、このグローバル構成を 1 か所に保持するのに適した方法であり、さらに署名のデータベース ルックアップが削減されます。何らかの理由でサイト管理者が変更を決定した場合、設定テーブルを更新する Web 管理インターフェイスを介して変更できます (設定モデルに関連付けられています)。
これはすべて楽しくて良いことですが、configatron.rb を保存するのに最適な場所はどこですか? 現在、それは私のイニシャライザフォルダにあります。つまり、アプリケーションの起動時に一度ロードされることを意味します - これは良いことですが、設定の 1 つが変更された場合、サイト管理者は電子メールの署名を微調整して、新しいプロモーション Web サイトに言及することを決定します - 変更を有効にするために - 再起動する必要がありますアプリ(パッセンジャーを実行しているため、コードから実行するのは簡単touch tmp/restart.txt
です)。ただし、これは、リセットしない他の構成設定 (アップタイム開始タイムスタンプなど) もリセットされることを意味します。
configatron.rb とロードを移動して、起動時に一度ロードし、アプリを再起動せずにいくつかの構成を変更できるようにするのに適した場所は何ですか?
ありがとう。