当我调用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
知道我在这里可能缺少什么吗?
有没有办法明确为此文件定义路线?
答案 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 %>