1

ライブラリに ActiveRecord クラスの設定があります ( autoload がオン)

class Settings < ActiveRecord::Base  
   cattr_accessor :defaults
   @@defaults = {}.with_indifferent_access
   ...

いくつかのデフォルトをセットアップするために、初期化子 'settings.rb' を定義しました

Settings.defaults[:admin_email] = 'john.doe@acme.com'
#.....

コンソールを実行すると、デフォルトが表示されるはずですが、空です:

# expected  Settings.admin_email => 'john.doe@acme.com'
Settings.admin_email => {} 

settings.rb にデバッガー ステートメントを挿入すると、途中で停止して、Settings.defaults[:admin_email] = 'john.doe@acme.com' but Settings.admin_email => {} を実行することもできます。

次に、コンソールで実行すると: Settings.defaults[:admin_email] = 'john.doe@acme.com' Settings.admin_email => 'john.doe@acme.com'

初期化コードが実行されているようですが、クラス変数が保持されていません... Rails 3.2クラス変数の初期化に関連している可能性があります

4

1 に答える 1

0

gem を使用して設定を保存する方が良いのでしょうか? https://github.com/railsjedi/rails_configのようなもの

于 2013-01-23T13:43:18.460 に答える