gpt4 book ai didi

ruby-on-rails - 访问 Rake 命名空间中的 Rails 环境配置

转载 作者:行者123 更新时间:2023-12-03 17:52:32 24 4
gpt4 key购买 nike

我在 environment.rb 中定义了一条路径文件

MyRailsApp::Application.configure do
config.xml_import_path = "/path/to/xml"
end

我希望能够在这样的 Rake 文件中设置变量访问
namespace :myapp do
xml_path = MyRailsApp::Application.config.xml_import_path

task :first_task => :environment do
# do some stuff with xml_path
end

task :second_task => :environment do
# do some other stuff with xml_path
end
end

但是当我运行 rake myapp:first_task 时,我不断收到错误消息
undefined method `xml_import_path' for #<Rails::Application::Configuration:0x00000006a98bd8>

我想这与没有加载环境有关,因为如果我把它工作
xml_path = MyRailsApp::Application.config.xml_import_path

在任务定义中。

有什么方法可以使用 environment.rb 中设置的配置值吗?就像我试图做的那样?

有没有更好/正确的方法来做到这一点?

干杯,

卢克

最佳答案

Is there any way to use config values set in environment.rb like I am attempting to do?



是的,您可以将 Rails 环境加载到任何脚本中

只需添加
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")

在调用要调用的变量之前

但是,在您的情况下加载环境的最佳方法是将上述代码添加到 bin/rake文件或 config/boot.rb

引用: https://shifteleven.com/articles/2006/10/08/loading-your-rails-environment-into-a-script/

另一种方法是使用 dotenv gem并将路径保存在 .env 中然后将该文件加载到您的 environment.rb 中和 rake文件

关于ruby-on-rails - 访问 Rake 命名空间中的 Rails 环境配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17333579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com