gpt4 book ai didi

ruby-on-rails - NameError:未初始化的常量 ActionController::Dispatcher

转载 作者:太空宇宙 更新时间:2023-11-03 18:27:37 24 4
gpt4 key购买 nike

找到类似的帖子 here但我运行的是 Mac,所以第一个解决方案并不完全适用,第二个对我不起作用。

使用 ruby​​ 1.9.3p0(2011-10-30 修订版 33570)运行 Mac OS 10.7.2、Xcode 4.2.1、rvm 1.10.1 [x86_64-darwin11.2.0]

我认为这个问题是由 rvm 引起的,但是我不知道如何解决它

$ rails new dispatch_me
$ rails generate controller demo index
$ rails console
Loading development environment (Rails 3.2.0.rc2)
1.9.3-p0 :001 > env = {}
=> {}
1.9.3-p0 :002 > env['REQUEST_METHOD'] = 'GET'
=> "GET"
1.9.3-p0 :003 > env['PATH_INFO'] = '/demo/index'
=> "/demo/index"
1.9.3-p0 :004 > env['rack.input'] = StringIO.new
=> #<StringIO:0x007f946db0ece0>
1.9.3-p0 :005 > ActionController::Dispatcher.new.call(env).last.body
NameError: uninitialized constant ActionController::Dispatcher
from (irb):5
from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.0.rc2/lib/rails/commands/console.rb:47:in `start'
from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.2.0.rc2/lib/rails/commands/console.rb:8:in `start'
from /Users/rudolph9/.rvm/gems/ruby-1.9.3-p0/gems/railties- 3.2.0.rc2/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
1.9.3-p0 :006 >

我正在关注 The Rails 3 Way

同样,我认为问题是由 rvm 引起的,但我不知道如何解决它?

更新:也许它与运行 native Ruby 1.8.7 和 Rails 3.1.3 的 rvm 无关 我遇到了同样的问题:

>> ActionController::Dispatcher.new.call(env).last.body
NameError: uninitialized constant ActionController::Dispatcher
from (irb):6

最佳答案

看看 config.ru,在我的例子中是:

> cat config.ru 
# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment', __FILE__)
run Wagn::Application

该文件是为 3.0 使用 Main::Application 生成的,并已更改为我们的本地名称。

我将其用于我的应用程序(Rack::Test):

def app
Wagn::Application
end

请注意,没有“.new”,因为此类是一个应用程序,而不是中间件。

关于ruby-on-rails - NameError:未初始化的常量 ActionController::Dispatcher,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859409/

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