Нет совпадений с маршрутом "/javascripts/prototype.js" -> явно определить один? - PullRequest
1 голос
/ 22 июня 2009

Когда я вызываю действие 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 ]

0 голосов
/ 12 июля 2009

Попробуйте использовать:

<%= javascript_include_tag :defaults  %>
0 голосов
/ 22 июня 2009

Вам не нужно определять маршрут для этого файла, вам нужен этот файл. Когда вы создаете новый проект, 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 папки.

0 голосов
/ 22 июня 2009

Это также может произойти, если у вас есть контроллер с именем javascripts.

0 голосов
/ 22 июня 2009

Вам не нужно определять маршрут для этого - он должен обрабатываться правилами перезаписи в вашем файле .htaccess.

Вам необходимо убедиться, что ваш mod_rewrite включен, и что файл .htaccess правильный - он должен отправлять запрос в ваш dispatch.rb, только если запрошенный файл не существует в вашем публичном каталоге. Вам также может понадобиться проверить, что файл существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...