2011-09-24 9 views
5

Jestem nowym Ruby on Rails ja dostaję ten błądbłąd Routing w Ruby on Rails 3

niezainicjowanej stałą WelcomeController

po utworzeniu przykładowy projekt. Włączyłem w routes.rb.

+2

ja też mam ten błąd podczas korzystania z podręcznej instrukcji obsługi: http://guides.rubyonrails.org/getting_started.html Trzeba rzeczywiście zmienić linię do indeksu domu # jak Mohan Raj mówi w swoim komentarzu poniżej . Nie tylko nie komentujesz linii. – bernie2436

Odpowiedz

1

Upewnij WelcomeController jest zdefiniowana w pliku o nazwie welcome_controller.rb

12

Kiedy mówisz

root :to => 'welcome#index' 

mówisz Rails wysłać wszystkie żądania do / metody index w WelcomeController. Komunikat o błędzie informuje, że nie utworzono klasy WelcomeController. Powinieneś mieć coś takiego:

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

w app/controllers/welcome_controller.rb.

+1

Cześć, znalazłem rozwiązanie, po prostu zmieniłem root: to => 'home # index'. Stworzyłem kontroler do domu. Ustaw trasę do domu. – Raj

+0

@MohanRaj powinieneś przyjąć tę odpowiedź jako poprawną, taką jaką jest. – thomasfedb

5

Jestem bardzo bardzo nowy w Railsach, a także wystąpił ten błąd podczas korzystania z Rails Tutorial przez Michaela Hartla. Problemem było to, że w pliku config/routes.rb, po prostu Odkomentowano root :to => "welcome#index":

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

ale struktura sample_app było to, że „wskaźnik powitanie #” powinno być „pages # home” zamiast, ponieważ wszystko było pierwotnie skonfigurowany za pomocą kontrolera "strony".

root :to => 'pages#home' 

To nawet tam w książce, ale po prostu pominąć go i spędził sporo czasu, potem próbuje dowiedzieć się, gdzie poszło źle.

1

rails generate controller welcome index

+0

Generator ustawia dla ciebie trasę. Rails.application.routes.draw do get 'welcome/index' koniec –

1

Jeśli nie generuje stronę z nazwą welcome, a potem po prostu generowania strony takie jak: $ rails generate controller pagename index. Więc następnie do: config-> routes.rb należy edytować korzeń 'witamy Wskaźnik' do root 'indeksu pagename #'

0

Należy o tym, jeśli ma to być Twój główny kontekst po ciebie wygeneruj swoje mile widziane części.

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

Lata spóźnione i tysiące krótkie. :-) –