如何使用 database.yml 为每个环境定义 json 文件
How to use database.yml define json file for each environment
我正在 rails 中处理 json 文件格式。
我喜欢在 config/databse.yml(或更好的地方)中使用环境来定义要在应用程序中使用的 json 文件。
但是没有头绪,找不到任何样本。
请帮忙。
helper 中的现有代码如下
def get_table(foo)
get_data = if [:production, :sandbox].include?(Rails.env)
File.read("support/product.json")
else
File.read("support/sample.json")
end
JSON.parse(get_data)
end
如果我的理解正确,那么您是在尝试根据当前环境加载 JSON 文件吗?我不确定 JSON 文件是否真的是您正在寻找的那种数据存储……但那是另一个问题。
对于您的情况,我会使用环境变量来设置在应用程序执行期间要使用的文件名。
将助手更改为:
def get_table
database_content_from_file = File.read(ENV['database_file'])
JSON.parse(get_data)
end
您现在可以在每种不同类型的环境中设置环境变量 'database_file'。这可以通过设置系统范围的变量或使用像 https://github.com/laserlemon/figaro 这样的 gem 来完成(我强烈建议您使用)。
有了这个,你可以在你的开发环境中将 ENV['database_file'] 设置为 'support/sample.json' 并将其设置为 'support/product.json' 生产中。
我希望这能回答您的问题。如果不是,请以更容易理解的方式重新表述您的问题。
我正在 rails 中处理 json 文件格式。 我喜欢在 config/databse.yml(或更好的地方)中使用环境来定义要在应用程序中使用的 json 文件。 但是没有头绪,找不到任何样本。 请帮忙。
helper 中的现有代码如下
def get_table(foo)
get_data = if [:production, :sandbox].include?(Rails.env)
File.read("support/product.json")
else
File.read("support/sample.json")
end
JSON.parse(get_data)
end
如果我的理解正确,那么您是在尝试根据当前环境加载 JSON 文件吗?我不确定 JSON 文件是否真的是您正在寻找的那种数据存储……但那是另一个问题。
对于您的情况,我会使用环境变量来设置在应用程序执行期间要使用的文件名。
将助手更改为:
def get_table
database_content_from_file = File.read(ENV['database_file'])
JSON.parse(get_data)
end
您现在可以在每种不同类型的环境中设置环境变量 'database_file'。这可以通过设置系统范围的变量或使用像 https://github.com/laserlemon/figaro 这样的 gem 来完成(我强烈建议您使用)。
有了这个,你可以在你的开发环境中将 ENV['database_file'] 设置为 'support/sample.json' 并将其设置为 'support/product.json' 生产中。
我希望这能回答您的问题。如果不是,请以更容易理解的方式重新表述您的问题。