我想在服务器加载时动态在配置文件夹中填充.yml文件。
以下是我的.yml文件的示例
# Configuration Credentials
development: &development
user: "***"
password: "***"
test:
<<: *development
non-prod:
user: "***"
password: "***"
production: &production
user: "***"
password: "***"
我想以嵌入式红宝石的形式设置每个键的值,如下所示:
development: &development
user: <%= get_value_for(user) %>
password: <%= get_value_for(password) %>
我要在服务器即将运行时加载.yml文件。
我想知道应该在哪里定义get_value_for方法,以便可以在yml文件中调用它? (可能在application.rb中,但我不知道具体如何)
答案 0 :(得分:1)
创建一个自定义类并定义其方法。然后要求config/application.rb
# app/global/database_details.rb
class DatabaseDetails
def self.get_value_for(user)
end
end
在config/application.rb
内
require_relative '../app/global/database_details'
module AppName
class Application < Rails::Application
end
end
在config/database.yml
内
development: &development
user: <%= DatabaseDetails.get_value_for(user) %>
password: <%= DatabaseDetails.get_value_for(password) %>