我正在尝试在加载Rails环境的Ruby脚本中使用app
对象,但我只有问题......
脚本看起来像这样:
ENV['RAILS_ENV'] = ARGV.first || ENV['RAILS_ENV'] || 'development'
require ::File.expand_path('../config/environment', __FILE__)
app = Rails.application
puts app.users_path(21)
我得到了
undefined method `users_path' for #<BacklinkHealth::Application:0x007fd6fac80d60> (NoMethodError)
如果我加入Rails.application.routes.url_helpers
,那就没问题了......
但问题是我还需要拨打app.get
,我不知道如何启用它。
为什么这个app对象在脚本中与在Rails命令行中的不同?
答案 0 :(得分:0)
我看到app
是控制台中的一个方法,它返回ActionDispatch::Integration::Session
的实例,而Rails.application是BacklinkHealth::Application
。所以解决方案是:
app = ActionDispatch::Integration::Session.new(Rails.application)