在 Rails Ruby 中动态填充 .yml 文件
Populate .yml file dynamically in Ruby on Rails
我想在加载服务器时动态填充 config 文件夹中的 .yml 文件。
下面是我的.yml文件的例子
# Configuration Credentials
development: &development
user: "***"
password: "***"
test:
<<: *development
non-prod:
user: "***"
password: "***"
production: &production
user: "***"
password: "***"
我想以嵌入式 ruby 的形式为每个键设置值,如下所示:
development: &development
user: <%= get_value_for(user) %>
password: <%= get_value_for(password) %>
我想在服务器即将运行时加载.yml文件。
我想知道我应该在哪里定义 get_value_for 方法,以便我可以在我的 yml 文件中调用它? (可能在 application.rb 但我不知道具体如何)
创建自定义 class 并定义其方法。然后要求config/application.rb
里面的class
# 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) %>
我想在加载服务器时动态填充 config 文件夹中的 .yml 文件。
下面是我的.yml文件的例子
# Configuration Credentials
development: &development
user: "***"
password: "***"
test:
<<: *development
non-prod:
user: "***"
password: "***"
production: &production
user: "***"
password: "***"
我想以嵌入式 ruby 的形式为每个键设置值,如下所示:
development: &development
user: <%= get_value_for(user) %>
password: <%= get_value_for(password) %>
我想在服务器即将运行时加载.yml文件。
我想知道我应该在哪里定义 get_value_for 方法,以便我可以在我的 yml 文件中调用它? (可能在 application.rb 但我不知道具体如何)
创建自定义 class 并定义其方法。然后要求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) %>