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

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

我在 Rails 中遇到一些路由问题。

我已经为 Project 模型准备了一个模型,所以我使用 rails generate scaffold_controller 生成了一些默认 Controller 和 View ,例如rails 生成 scaffold_controller 项目。正如预期的那样,我现在有一个默认 Controller 和关联的 View 。

我的 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'

这些是脚手架 Controller / View ,因此/app/views/projects/show.html.erb 等已经存在文件。我做错了什么?我是一个 Rails 菜鸟,所以任何提示都非常感谢 :)

编辑:项目内容#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

最佳答案

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

config.action_view.debug_rjs = true

来自 environments/development.rb 修复了它。

出现这个问题是因为我之前一直在 Rails 3.0 中开发,然后将我的 Rails 安装升级到版本 3.1。

关于ruby - ActionView::MissingTemplate - 但模板已经存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8131423/

相关文章:

ruby 动态添加类变量

php - 什么是 Ruby 等同于 PHP 的紧凑型?

ruby-on-rails - 使用 STI 模型名称解决方法的弃用警告

ruby-on-rails - Rails 3.1 has_one 嵌套资源 : routing not generating "all" paths

mysql - 如何在删除另一个数据库时更新另一个数据库中列字符串的值

python - Pyramid :为由 route_url 构造的每个 URL 扩展查询字符串

ruby-on-rails - 从 Impressionist Gem in Rails 4 重新打开 Impression 类

javascript - 页面不断在 Ruby on Rails 应用程序中使用 AJAX 调用重新加载

javascript - nodejs expressjs angularjs 路由

google-app-engine - 使用 Tipfy 进行全面路由