Нет подходящих маршрутов & / 8240; /javascripts/prototype.js” - & GT; явно определить один?
-
06-07-2019 - |
Вопрос
Когда я вызываю действие 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
Есть идеи, чего мне здесь не хватает?
Есть ли способ подробного определения маршрута для этого файла?
Решение
Вам не нужно определять маршрут для этого - он должен обрабатываться правилами перезаписи в вашем файле .htaccess.
Вам необходимо убедиться, что ваш mod_rewrite включен, и что файл .htaccess правильный - он должен отправлять запрос в ваш dispatch.rb, только если запрошенный файл не существует в вашем общедоступном каталоге. Вам также может понадобиться проверить, что файл существует.
Другие советы
Вам не нужно определять маршрут для этого файла, вам нужен этот файл. Когда вы создаете новый проект, 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 папки.
Это также может произойти, если у вас есть контроллер с именем javascripts. Р>
Попробуйте использовать:
<%= javascript_include_tag :defaults %>