2010-12-16 10 views
9

ok, ich habe folgende worden: http://railscasts.com/episodes/196-nested-model-form-part-1nicht initialisierte Konstante Homecontroller

Hier sind die Schritte, die ich je hatte, so weit zu erreichen:

rails new survey 
<install the script stuff he includes> 
rails g nifty:layout 
rails g nifty:scaffold survey name:string 
rake db:migrate 

I routes.rb aktualisiert Haus # Punkt Index (eher als der Welcome # Index, dass es war) und gelöscht public/index.html

Wenn ich versuche, Rails Server laufen und zu meinem lokalen Host gehen, bekomme ich den folgenden Fehler. nicht initialisierte Konstante HomeController

Ich bin verloren und habe keine Ahnung, was das bedeutet.

Kann mir jemand in die richtige Richtung zeigen?

EDIT:

OK, also fixierte ich das Problem, ich denke, wo ich bin verwirrt ist, wo sollten meine Routen zu ge zeigen die Umfrage, um zu sehen, dass ich mit den oben genannten Befehlen gerade erstellt hat. gerade zeige ich auf meinen # home index, wo sollte das hindeuten?

Edit # 2: Inhalt des Surveys_controller.rb

class SurveysController < ApplicationController 
    def index 
    @surveys = Survey.all 
    end 

    def show 
    @survey = Survey.find(params[:id]) 
    end 

    def new 
    @survey = Survey.new 
    end 

    def create 
    @survey = Survey.new(params[:survey]) 
    if @survey.save 
     flash[:notice] = "Successfully created survey." 
     redirect_to @survey 
    else 
     render :action => 'new' 
    end 
    end 

def edit 
    @survey = Survey.find(params[:id]) 
    end 

    def update 
    @survey = Survey.find(params[:id]) 
    if @survey.update_attributes(params[:survey]) 
     flash[:notice] = "Successfully updated survey." 
     redirect_to @survey 
    else 
     render :action => 'edit' 
    end 
    end 

    def destroy 
    @survey = Survey.find(params[:id]) 
    @survey.destroy 
    flash[:notice] = "Successfully destroyed survey." 
    redirect_to surveys_url 
    end 
end 
+0

Was sind die Inhalte von/app/controllers/* und wie sieht Ihre routes.rb Datei aus? –

+0

app/controllers enthält application_controller, home_controller und surveys_controller, (ich nehme an, home_controller existierte nicht, bis ich den Befehl ich "beantwortete" unten), sah in umfragen_controller, gab mir keinen Hinweis, was routes.rb sollte aussehen wie, ich habe Umfragen # neu, Umfrage # Index und ein paar andere Iterationen jetzt versucht, und immer noch scheint nicht zu funktionieren. – onaclov2000

+0

Probieren Sie "Rake-Routen" von der Befehlszeile aus, um zu sehen, welche Routen Sie haben. – stephenmurdoch

Antwort

16

Wenn routes.rb auf home#index zeigt, benötigt es einen HomeController in Ihrem App/Controller-Ordner. Wenn Sie dem Tutorial genau folgen, können Sie nur auf survey#index zeigen. Sehen Sie sich surveys.rb in der App/den Controllern an, um zu sehen, welche Seiten verfügbar sind. Sie wurden mit dem Skript niffty_scaffold generiert.

+0

Vielen Dank, dachte ich noch vor wenigen Augenblicken, dass ein Teil, aber ich bin immer noch nicht sicher, was ich brauche, um meine routes.rb zu zeigen, um die Umfrage zu sehen, die angeblich erzeugt werden .... sollte Ich zeige es auf "Umfrage" und das war's? – onaclov2000

+0

Kein Würfel, ich versuchte Umfragen # neu, und bekomme eine undefinierte Methode für neue Fehler. – onaclov2000

+0

Ich habe für den Controller in meinem Code, wenn das helfen wird, Umfragen Arbeit aus irgendeinem Grund tut entweder gibt den Fehler: Argument fehlt: action Rails.root:/home/onaclov/ECE595/Umfrage Anwendung Trace | Rahmenverfolgung | Voll Trace – onaclov2000

8

Es stellte sich heraus, wenn Sie versuchen, zu Hause # Index zu verweisen, muss es dort etwas haben, einfach laufen

rails generate controller home index 

Fixes, die Problem.

+0

"Es muss etwas dort sein" was bedeutet sogar? Würdest du bitte klarer sein? –

+0

Ich werde seine seit 7 Jahren ehrlich sein, ich Schienen für eine Klasse wie eine Woche verwendet zu diesem Zeitpunkt zu diesem Zeitpunkt kann ich onlyspeculate, dass, wenn Schienen ausgeführt wurden und verwendet es Suche ist durch Pathing Sie einen Controller erzeugen, müssen für home # index und der obige Befehl macht das, aber wieder vor 7 Jahren. Vergessen Sie nicht, – onaclov2000

3

Stick so etwas in Ihrer application.html.erb Datei

<%= link_to "Home", root_path %> 
<%= link_to "Surveys", surveys_path %> 

Der Code sprengen, wenn Sie nicht über diese Routen haben funktioniert, aber ansonsten sollten Sie in der Lage sein, Ihre Umfragen zu sehen, indem Sie auf die Taste für sie

Ihre routes.rb Datei sollte folgende Angaben enthalten:

resources :surveys 
root :to => "home#index" 

Sie können alle Umfragen ansehen, indem Sie auf localhost: 3000/Umfragen

+0

NoMethodError in SurveysController # Index nicht definierte Methode 'all‘ für Umfrage: Modul - das ist der Fehler, den ich auf der Seite bekommen ... – onaclov2000

Verwandte Themen