2010-12-16 3 views
9

нормально, я следующее: http://railscasts.com/episodes/196-nested-model-form-part-1неинициализированным постоянная HomeController

Вот шаги, которые я должен был выполнить до сих пор:

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

Я обновляемые routes.rb, чтобы указать на дому # index (а не индекс приветствия #) и удаленный public/index.html

Когда я пытаюсь запустить сервер rails и перейти на свой локальный хост, я получаю следующую ошибку. неинициализированная постоянная HomeController

Я потерян и понятия не имею, что это значит.

Может кто-нибудь указать мне в правильном направлении?

EDIT:

ОК, поэтому я установил эту проблему, я думаю, где я запутался, где должны мои маршруты указывают на ге, чтобы увидеть опрос, который я только что созданный с использованием вышеуказанных команд. прямо сейчас я указываю на индекс моего дома #, где это должно указывать?

Edit # 2: Содержание 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

Каково содержимое/app/controllers/* и каков ваш файл routes.rb? – 2010-12-16 02:34:36

+0

app/controllers содержит application_controller, home_controller и survey_controller (я предполагаю, что home_controller не существует до тех пор, пока я не выполнил команду «Ответ» ниже), глядя в survey_controller, не дал мне никаких указаний, какие маршруты.rb должны похоже, я уже опробовал опросы # new, index # index и несколько других итераций и все еще не работает. – onaclov2000 2010-12-16 02:42:01

+0

попробуйте запустить «рейк-маршруты» из командной строки, чтобы узнать, какие маршруты у вас есть. – stephenmurdoch 2010-12-16 03:04:53

ответ

16

С маршрутами.rb, указывающими на home#index, ему нужен домашнийконтроллер в вашей папке приложений/контроллеров.

Если вы точно следуете руководству, вы можете указать только survey#index. Взгляните на survey.rb в приложении/контроллерах, чтобы узнать, какие страницы доступны. Они были сгенерированы с помощью скрипта niffty_scaffold.

8

Оказывается, при попытке указать на дом # индекс, он должен иметь что-то есть, просто запустив

rails generate controller home index 

исправления, проблема.

+0

«у него должно быть что-то», что даже означает? не могли бы вы быть более ясными? – 2017-12-15 17:44:59

3

палки что-то подобное в вашем файле application.html.erb

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

код взорвется, если вы не имеете эти маршруты работают, но в противном случае вы должны быть в состоянии увидеть ваши опросы, нажав на кнопка для них

Ваш routes.rb файл должен содержать следующее:

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

Вы можете просмотреть все опросы, перейдя на локальный: 3000/опросы