[英]Store Global Variables for different environments in Rails
在我的Rails應用程序中,我還嘗試測試對Redis的調用。 例如,在我的用戶模型中,我有:
def self.add_to_visibles user #To show in the menu
$redis.lpush("user_visibles", user.to_json(only: [:vorname, :nachname, :id, :created_at]))
end
現在,當我運行此測試時,還將測試數據插入redis存儲區"user_visibles"
。 這意味着在進行開發時,我也可以看到這些數據。
這就是為什么我想將我的方法更改為:
def self.add_to_visibles user #To show in the menu
$redis.lpush($user_visibles, user.to_json(only: [:vorname, :nachname, :id, :created_at]))
end
並存儲在$user_visibles
:
測試: $user_visibles = "user_visibles_test"
對於生產$user_visibles = "user_visibles"
我最好在哪里存儲此變量? 以及如何使其與環境不同?
我會做這樣的事情:
config / user_variables.rb
Rails.configuration.user_variable = YAML::load_file("#{Rails.root}/config/user_variables.yml")[Rails.env]
並像這樣創建config / user_variables.yml
production: 'user_visibles'
test: 'user_visibles_test'
記住重新啟動服務器
您必須在需要的地方通過Rails.configuration.user_variable獲取值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.