неинициализированная константа HomeController - PullRequest
10 голосов
/ 16 декабря 2010

хорошо, я был следующим: http://railscasts.com/episodes/196-nested-model-form-part-1

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

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

Я обновил route.rb, чтобы он указывал на home # index (а не на welcome # index, которым он был) и удалил public / index.html

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

Я заблудился и понятия не имею, что это значит.

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

EDIT:

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

Редактировать # 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

Ответы [ 3 ]

16 голосов
/ 16 декабря 2010

С маршрутизацией rout.rb, указывающей на home#index, необходим HomeController в папке app / controllers.

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

8 голосов
/ 16 декабря 2010

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

rails generate controller home index

исправляет эту проблему.

3 голосов
/ 16 декабря 2010

вставьте что-то подобное в ваш файл application.html.erb

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...