1

当我调用控制器的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

4 回答 4

0

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

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

于 2009-06-22T08:35:06.157 回答
0

你不需要为这个文件定义一个路由,你需要这个文件。我们创建了一个新项目,Rails 将 Prototype 库存储在您的 javascripts 文件夹中。

  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 文件夹中复制文件。

于 2009-06-22T08:37:05.577 回答
0

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

于 2009-06-22T10:35:20.453 回答
0

尝试使用:

<%= javascript_include_tag :defaults  %>
于 2009-07-12T05:03:45.797 回答