Ruby on rails 控制台中的Rails应用程序对象与脚本中的Rails应用程序对象

Ruby on rails 控制台中的Rails应用程序对象与脚本中的Rails应用程序对象,ruby-on-rails,Ruby On Rails,我试图在加载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) 我明白了 用于#的未定义方法“users_path

我试图在加载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)
我明白了

用于#的未定义方法“users_path”(NoMethodError)
如果我包括
Rails.application.routes.url\u helpers
,那么就可以了

但问题是我还需要调用
app.get
,我不知道如何启用它


为什么这个应用程序对象在脚本中与在Rails命令行中如此不同?

我看到
app
是控制台中的一个方法,它返回一个
ActionDispatch::Integration::Session
的实例,而Rails.application是
BacklinkHealth::application
。因此,解决方案是:

app = ActionDispatch::Integration::Session.new(Rails.application)

我看到
app
是控制台中的一个方法,它返回
ActionDispatch::Integration::Session
的实例,而Rails.application是
BacklinkHealth::application
。因此,解决方案是:

app = ActionDispatch::Integration::Session.new(Rails.application)