Nenhuma rota corresponde “/javascript/prototype.js” -> definir explicitamente um?
-
06-07-2019 - |
Pergunta
Quando eu chamar a ação index
de meu controlador assets
, o modelo index
correspondente usa o layout assets
que inclui esta linha:
<%= javascript_include_tag 'prototype' %>
O erro que eu recebo é:
No route matches "/javascripts/prototype.js" with {:method=>:get}
Este é o meu arquivo de rotas:
ActionController::Routing::Routes.draw do |map|
map.resources :assets
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
Qualquer idéia do que eu poderia estar faltando aqui?
Existe uma maneira de explicitamente definir uma rota para este arquivo?
Solução
Você não precisa definir uma rota para isso -. Que deve ser manuseado pelas regras de reescrita em seu arquivo .htaccess
Você precisa verificar se o seu mod_rewrite está habilitado, e que o arquivo .htaccess está correta - deve-se enviar o pedido para o seu dispatch.rb somente se o arquivo solicitado não existe no seu diretório público. Você também pode precisar verificar se o arquivo existe.
Outras dicas
Você não precisa definir uma rota para este arquivo, você precisa deste arquivo. Nós você cria um novo projeto, o Rails lojas biblioteca Prototype na sua pasta 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
Certifique-se o arquivo existe. Se não, criar um novo projeto e copiar os arquivos de sua pasta / public / javascript.
Este também pode acontecer se você tiver um controlador chamado javascripts.
Tente usar:
<%= javascript_include_tag :defaults %>