Luk*_*keR 5 ruby-on-rails rakefile
我在我的environment.rb文件中定义了一个路径
MyRailsApp::Application.configure do
config.xml_import_path = "/path/to/xml"
end
Run Code Online (Sandbox Code Playgroud)
我希望能够像这样在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
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时我一直都会收到错误 rake myapp:first_task
undefined method `xml_import_path' for #<Rails::Application::Configuration:0x00000006a98bd8>
Run Code Online (Sandbox Code Playgroud)
我想这与环境没有被加载有关,因为它可以正常工作
xml_path = MyRailsApp::Application.config.xml_import_path
Run Code Online (Sandbox Code Playgroud)
在任务定义中.
是否有任何方法可以environment.rb像我试图那样使用设置的配置值?
有更好/正确的方法吗?
干杯,
卢克
有没有办法
environment.rb像我尝试做的那样使用设置的配置值?
是的,您可以将 Rails 环境加载到任何脚本中
只需添加
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
Run Code Online (Sandbox Code Playgroud)
在调用要调用的变量之前
但是,在您的情况下加载环境的最佳方法是将上述代码添加到文件bin/rake或config/boot.rb文件中
参考:https ://shifteleven.com/articles/2006/10/08/loading-your-rails-environment-into-a-script/
另一种方法是使用dotenv gem并将路径保存在文件中,.env然后将该 var 加载到您的environment.rb文件中rake
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |