Question

Trouver un poste similaire mais je suis en cours d'exécution un Mac pour la première solution ne s'applique pas exactement et le second ne fonctionne pas pour moi.

Mac OS 10.7.2, Xcode 4.2.1, RVM 1.10.1 utilisant 1.9.3p0 rubis (2011-10-30 révision 33570) [x86_64-darwin11.2.0]

Je crois que la question à cause de RVM, mais je ne sais pas comment le résoudre

$ 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 > 

Je suis avec le Les Rails 3 Way

Encore une fois, je crois que la question à cause de RVM, mais je ne sais pas comment le résoudre?

Mise à jour: Peut-être qu'il n'a pas quelque chose à voir avec RVM, en natif Ruby et Rails 1.8.7 3.1.3 Je lance le même problème:

>> ActionController::Dispatcher.new.call(env).last.body
NameError: uninitialized constant ActionController::Dispatcher
    from (irb):6
Était-ce utile?

La solution

Jetez un oeil à config.ru, dans mon cas, il est:

> 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

Le fichier a été généré pour 3.0 avec les principaux :: demande et il a été changé pour notre nom local.

J'ai utilisé pour mon application (rack :: Test):

def app
  Wagn::Application
end

Note il n'y a pas de '.new', étant donné que cette classe est une application, pas un middleware.

Autres conseils

Il semble ActionController::Dispatcher n'existe tout simplement pas dans la version de rails que vous utilisez. Si la suite d'un livre, il est généralement préférable de coller avec la version de Rails le livre a été écrit pour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top