質問

同様の投稿を見つけました ここ しかし、私はMacを実行しているので、最初のソリューションは正確に適用されず、2番目のソリューションは私には機能しませんでした。

MAC OS 10.7.2、Xcode 4.2.1、RVM 1.10.1 Ruby 1.9.3p0(2011-10-30 Revision 33570)[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 > 

私はフォローしています レール3ウェイ

繰り返しになりますが、RVMを使用する問題は考えていますが、修正方法がわかりませんか?

更新:RVM、ネイティブ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で生成され、ローカル名で変更されました。

アプリにこれを使用しました(ラック::テスト):

def app
  Wagn::Application
end

このクラスはミドルウェアではなくアプリケーションであるため、「.new」はありません。

他のヒント

見えます ActionController::Dispatcher 使用しているRailsのバージョンには存在しません。あなたが本をフォローしている場合、本が書かれたRailsのバージョンに固執するのが通常最善です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top