2011-09-24 23 views
5

Soy nuevo en Ruby on Rails estoy recibiendo este errorde error de enrutamiento en Ruby on Rails 3

sin inicializar WelcomeController constante

después de crear el proyecto de ejemplo. Habilité

root :to => 'welcome#index' 

en routes.rb.

+2

También me dio este error cuando se utiliza la guía de instalación inicial: http://guides.rubyonrails.org/getting_started.html Tienes que realmente cambiar la línea para indexar el hogar # Raj Mohan como dice en su comentario a continuación . No solo desactivas la línea. – bernie2436

Respuesta

1

Asegúrese de que WelcomeController se define en un archivo llamado welcome_controller.rb

12

Cuando dice

root :to => 'welcome#index' 

usted está diciendo a los carriles para enviar todas las solicitudes de / al método index en WelcomeController. El mensaje de error le indica que no creó su clase WelcomeController. Debería tener algo como esto:

class WelcomeController < ApplicationController 
    def index 
    # whatever your controller needs to do... 
    end 
end 

en app/controllers/welcome_controller.rb.

+1

Hola, encontré la solución, simplemente cambié la raíz: to => 'home # index'. Creé el controlador a casa. Así que establezca la ruta a casa. – Raj

+0

@MohanRaj debe aceptar esta respuesta como correcta, tal como es. – thomasfedb

5

Soy muy nuevo en Rails y también encontré este error mientras seguía junto con Rails Tutorial de Michael Hartl. El problema que tuve fue que en el archivo config/routes.rb, acabo sin comentar la root :to => "welcome#index":

# just remember to delete public/index.html. 
root :to => "welcome#index" 

pero con la estructura de la sample_app fue que "índice de bienvenida #" debe ser 'páginas # Home' en lugar, ya que todo estaba originalmente configurado a través del controlador "páginas".

root :to => 'pages#home' 

Es incluso allí mismo, en el libro, pero yo sólo lo pasó por alto y pasó bastante tiempo después, tratando de averiguar que hice mal.

1

rails generate controller welcome index

+0

El generador establece la ruta para usted. Rails.application.routes.draw do get 'welcome/index' end –

1

Si no generas la página con el nombre welcome, a continuación, sólo generan la página como: $ rails generate controller pagename index. De manera que en el: config> routes.rb debería editar raíz 'bienvenida # index' a raíz 'nombre de la página de índice #'

0

Tenga esto si usted quiere que sea su raíz de contexto después de genera tus partes de bienvenida.

Rails.application.routes.draw do 
    root 'welcome#index' 
end 
+0

Años de retraso y miles de minutos. :-) –

Cuestiones relacionadas