0
A
回答
3
使用$符號到您的變量中,併成爲全球性的。如下所示:
$slack-notifier
另外它應該在config/initializers
文件夾中初始化。爲此,您可以在任何文件中創建下的config/intializers像配置/ intializers/xyz.rb
如果你不想在整個應用程序改變這種情況。然後你可以創建一個常量。
按照慣例,你應該建立在intializers文件夾這個常數。
config/intializers/initialize.rb
而它裏面的內容應該是大寫字。
# config/intializers/initialize.rb
ANY_CONSTANT = 'xyz'
您可以使用此ANY_CONSTANT任何地方在應用程序中。
0
從Ruby on Rails的4.2你有config/secrets.yml
文件,您可以在其中存儲您的設置開始。
你這樣指定它們:
your_app: &your_app
app_id: 123
,並獲得值如下:
Rails.application.secrets[:your_app]['app_id']
另一種選擇是有ENV變量。看看this gem。
與您共創dotenv一個在應用程序的根目錄下名爲.env
文件和存儲您的全局設置有如下:
APP_ID=123
爲了得到它的應用程序中,你會做
ENV['APP_ID']
添加此文件到.gitignore
。這是存儲應用設置的最安全的方式。
1
在/config/initializers/global.rb
$slack-notifier
嗯是不是有辦法把它定義在application.rb中或environment.rb中 – Felix
您可以在'配置/ intializers'任何文件創建像'config/intializers/xyz.rb'你也可以使用proc lambda等進行條件賦值。 –
你也可以在'application.rb'中聲明全局變量和常量,就像在'config.after_initialize'塊內一樣。 –