簡體   English   中英

在Rails中存儲不同環境的全局變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM