Rails プロジェクトで何らかの状態を保持する必要があります。サーバーの起動時に初期値を持ち、プロジェクトのどこからでもアクセスして変更できる、ある種のグローバル変数またはそのようなもの。どうやってするか?それを達成するための最良の方法は何ですか?
2 に答える
1
フォルダーにファイルを作成し、config/initializers
そこにグローバル変数を作成します。
# config/initializers/my_var.rb
$my_global_var = 'hello'
しかし、通常、これを行うための「よりクリーンな」方法があります。グローバル変数はスレッドセーフではなく、これは最近ちょっと話題になっています。
于 2012-11-23T11:17:21.900 に答える
0
ここでの最善の解決策はsettingslogicgemであると思います。yamlファイルで設定を定義すると、コード内のどこからでも設定にアクセスできます。それらを読んで設定します。同時に、複数の「グローバル変数」を持つことができます。私が取り組んだほとんどのプロジェクトでは、実行時に設定は変更されませんでしたが、その動作が必要な場合は、それを行うことができます。
# config/application.yml
defaults: &defaults
my_global_variable: 100
development:
<<: *defaults
production:
<<: *defaults
#And then anywhere in the application you can do:
Settings['my_global_variable'] = 200
于 2012-11-23T11:49:34.303 に答える