Pregunta

Encontró una publicación similar aquí Pero estoy ejecutando una Mac, por lo que la primera solución no se aplica exactamente y la segunda no funcionó para mí.

Ejecutando Mac OS 10.7.2, Xcode 4.2.1, RVM 1.10.1 usando Ruby 1.9.3p0 (revisión 2011-10-30 33570) [x86_64-darwin11.2.0

Creo que el problema se debe con RVM, sin embargo, no sé cómo solucionarlo

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

Estoy siguiendo con el Los rieles de 3 vías

Una vez más, creo que el problema de RVM, sin embargo, no sé cómo solucionarlo.

ACTUALIZACIÓN: Tal vez no tenga algo que ver con RVM, ejecutando Native Ruby 1.8.7 y Rails 3.1.3 Me encuentro con el mismo problema:

>> ActionController::Dispatcher.new.call(env).last.body
NameError: uninitialized constant ActionController::Dispatcher
    from (irb):6
¿Fue útil?

Solución

Eche un vistazo a config.ru, en mi caso es:

> 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

El archivo se generó para 3.0 con la aplicación Main :: y se cambió para nuestro nombre local.

Usé esto para mi aplicación (rack :: test):

def app
  Wagn::Application
end

Tenga en cuenta que no hay '.Neo', ya que esta clase es una aplicación, no un middleware.

Otros consejos

Parece ActionController::Dispatcher Simplemente no existe en la versión de los rieles que está utilizando. Si sigues un libro, generalmente es mejor seguir con la versión de Rails, el libro fue escrito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top