到目前为止,我必须完成以下步骤:
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以指向home #index(而不是那个欢迎的#index)并删除了public / index.html
当我尝试运行rails服务器并转到我的本地主机时,出现以下错误。 未初始化的常量HomeController
我迷路了,不知道这意味着什么。
有人能指出我正确的方向吗?
编辑:
好的,所以我解决了这个问题,我猜我感到困惑的地方是我的路线应该指向ge以查看我刚刚使用上述命令创建的调查。现在我指的是我家的#index,应该指向哪里?
编辑#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 :(得分:16)
如果routes.rb指向home#index
,则需要在app / controllers文件夹中有一个HomeController。
如果您完全按照教程操作,则可以指向survey#index
。查看app / controllers中的surveys.rb,了解哪些页面可用。它们是使用niffty_scaffold脚本生成的。
答案 1 :(得分:8)
当你试图指向home #index时,它需要有一些东西,只需运行
rails generate controller home index
解决了这个问题。
答案 2 :(得分:3)
在你的application.html.erb文件中粘贴这样的东西
<%= link_to "Home", root_path %>
<%= link_to "Surveys", surveys_path %>
如果您没有这些路线,代码会爆炸但是您应该可以通过点击按钮查看您的调查
您的routes.rb文件应包含以下内容:
resources :surveys
root :to => "home#index"
您可以访问localhost:3000 / survey
查看所有调查