我在Rails中遇到了一些路由问题。
我已经为Project
模型准备了一个模型,因此我使用rails generate scaffold_controller
生成了一些默认控制器和视图,例如rails generate scaffold_controller Project
。正如所料,我现在有一个默认控制器和相关的视图。
我的routes.rb文件包含:
resources :projects
当我尝试在浏览器中加载/ projects / 1时,我收到MissingTemplate错误。这是来自rails服务器终端的转储:
Started GET "/projects/1/" for 127.0.0.1 at 2011-11-14 19:39:47 -0800
Project Load (0.3ms) SELECT `projects`.* FROM `projects` WHERE `projects`.`id` = 1 LIMIT 1
ActionView::MissingTemplate (Missing template projects/show, application/show with {:handlers=>[:erb, :builder], :formats=>[:html], :locale=>[:en, :en]}. Searched in:
):
app/controllers/projects_controller.rb:18:in `show'
这些是脚手架控制器/视图,因此已经存在/app/views/projects/show.html.erb等文件。我做错了什么?我有点像铁杆菜鸟所以任何提示都很感激:)
编辑:项目内容#show
# GET /projects/1
# GET /projects/1.json
def show
@project = Project.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @project }
end
end
答案 0 :(得分:0)
该问题与Rails 3.1中的RJS有关。删除此行:
config.action_view.debug_rjs = true
environments/development.rb
的修复了它。
问题出现了,因为我之前一直在使用Rails 3.0开发,然后将我的Rails安装升级到3.1版。