Domanda

Ho trovato un post simile qui Ma sto eseguendo un Mac, quindi la prima soluzione non si applica esattamente e la seconda non ha funzionato per me.

Esecuzione Mac OS 10.7.2, Xcode 4.2.1, RVM 1.10.1 Utilizzo di Ruby 1.9.3p0 (2011-10-30 Revisione 33570) [x86_64-darwin11.2.0

Credo che il problema in scadenza con RVM, tuttavia non so come risolverlo

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

Sto seguendo con il I binari a 3 anni

Ancora una volta, credo che il problema in scadenza con RVM, tuttavia non so come risolverlo?

AGGIORNAMENTO: forse non ha qualcosa a che fare con RVM, eseguendo Ruby 1.8.7 e Rails nativo 3.1.3 Rungo nello stesso problema:

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

Soluzione

Dai un'occhiata a config.ru, nel mio caso è:

> 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

Il file è stato generato per 3.0 con l'applicazione principale :: ed è stato modificato per il nostro nome locale.

L'ho usato per la mia app (rack :: test):

def app
  Wagn::Application
end

Nota non c'è ".new", poiché questa classe è un'applicazione, non un middleware.

Altri suggerimenti

Sembra ActionController::Dispatcher Semplicemente non esiste nella versione dei binari che stai usando. Se stai seguendo un libro di solito è meglio attenersi alla versione di Rails per cui il libro è stato scritto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top