没有路线匹配“/javascripts/prototype.js” - >明确定义一个?

时间:2009-06-22 08:28:55

标签: ruby-on-rails routes

当我调用index控制器的assets操作时,相应的index模板会使用包含此行的assets布局:

<%= javascript_include_tag 'prototype'  %>

我得到的错误是:

No route matches "/javascripts/prototype.js" with {:method=>:get}

这是我的路线档案:

ActionController::Routing::Routes.draw do |map|
  map.resources :assets
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

知道我在这里可能缺少什么吗?

有没有办法明确为此文件定义路线?

4 个答案:

答案 0 :(得分:0)

您不需要为此定义路由 - 它应该由.htaccess文件中的重写规则处理。

您需要检查您的mod_rewrite是否已启用,并且.htaccess文件是否正确 - 只有在您的公共目录中不存在所请求的文件时,它才应该将请求发送到您的dispatch.rb。您可能还需要检查该文件是否存在。

答案 1 :(得分:0)

您无需为此文件定义路线,您需要此文件。我们创建一个新项目,Rails在您的javascripts文件夹中存储Prototype库。

  create  public/javascripts/prototype.js
  create  public/javascripts/effects.js
  create  public/javascripts/dragdrop.js
  create  public/javascripts/controls.js
  create  public/javascripts/application.js

确保文件存在。如果没有,请创建一个新项目并从其/ public / javascript文件夹中复制文件。

答案 2 :(得分:0)

如果您有一个名为javascripts的控制器,也可能会发生这种情况。

答案 3 :(得分:0)

尝试使用:

<%= javascript_include_tag :defaults  %>