1

Rails プロジェクトで何らかの状態を保持する必要があります。サーバーの起動時に初期値を持ち、プロジェクトのどこからでもアクセスして変更できる、ある種のグローバル変数またはそのようなもの。どうやってするか?それを達成するための最良の方法は何ですか?

4

2 に答える 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 に答える