Нет подходящих маршрутов & / 8240; /javascripts/prototype.js” - & GT; явно определить один?

StackOverflow https://stackoverflow.com/questions/1026080

  •  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  %>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top