ActionView :: MissingTemplate - 但模板已存在?

时间:2011-11-15 04:16:07

标签: ruby ruby-on-rails-3 url-routing actionview rails-routing

我在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

1 个答案:

答案 0 :(得分:0)

该问题与Rails 3.1中的RJS有关。删除此行:

config.action_view.debug_rjs = true

来自environments/development.rb

修复了它。

问题出现了,因为我之前一直在使用Rails 3.0开发,然后将我的Rails安装升级到3.1版。