Aucune route ne correspond à & # 8220; /javascripts/prototype.js” - > définir explicitement un?

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

  •  06-07-2019
  •  | 
  •  

Question

Lorsque j'appelle l'action index de mon contrôleur assets , le modèle index correspondant utilise la disposition assets . qui comprend cette ligne:

<%= javascript_include_tag 'prototype'  %>

L'erreur que je reçois est la suivante:

No route matches "/javascripts/prototype.js" with {:method=>:get}

Ceci est mon fichier de routes:

ActionController::Routing::Routes.draw do |map|
  map.resources :assets
  map.connect ':controller/:action/:id'
  map.connect ':controller/:action/:id.:format'
end

Avez-vous une idée de ce que je pourrais manquer ici?

Existe-t-il un moyen de définir explicitement un itinéraire pour ce fichier?

Était-ce utile?

La solution

Vous ne devriez pas avoir besoin de définir une route pour cela - elle devrait être gérée par les règles de réécriture de votre fichier .htaccess.

Vous devez vérifier que votre mod_rewrite est activé et que le fichier .htaccess est correct. Il ne devrait envoyer la demande à votre dispatch.rb que si le fichier demandé n'existe pas dans votre répertoire public. Vous devrez peut-être également vérifier l’existence du fichier.

Autres conseils

Vous n'avez pas besoin de définir un itinéraire pour ce fichier, vous avez besoin de ce fichier. Si vous créez un nouveau projet, Rails stocke la bibliothèque de prototypes dans votre dossier 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

Assurez-vous que le fichier existe. Sinon, créez un nouveau projet et copiez les fichiers de son dossier / public / javascript.

Ceci peut également arriver si vous avez un contrôleur appelé javascripts.

Essayez d’utiliser:

<%= javascript_include_tag :defaults  %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top