Keine Route entspricht „/javascripts/prototype.js“ -> explizit ein definieren?

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

  •  06-07-2019
  •  | 
  •  

Frage

Wenn ich die index Aktion meines assets Controller nennen, verwendet die entsprechende index Vorlage das assets Layout, die diese Zeile enthält:

<%= javascript_include_tag 'prototype'  %>

Der Fehler ich erhalte, ist:

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

Das ist meine Routen-Datei:

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

Jede Idee, was ich könnte hier fehlt?

Gibt es eine Möglichkeit zu explicity eine Route für diese Datei definieren?

War es hilfreich?

Lösung

Sie sollten nicht einen Weg für diese definieren müssen - es sollte durch die Rewrite-Regeln in der .htaccess-Datei behandelt werden

.

Sie müssen prüfen, ob Ihr mod_rewrite aktiviert ist, und dass die .htaccess-Datei korrekt ist - es sollte die Anforderung an Ihre dispatch.rb nur dann senden, wenn die angeforderte Datei nicht in Ihrem öffentlichen Verzeichnis vorhanden ist. Sie können auch überprüfen müssen, dass die Datei vorhanden ist.

Andere Tipps

Sie brauchen keine Route für diese Datei zu definieren, müssen Sie diese Datei. Wir bieten Ihnen ein neues Projekt erstellen, Rails speichert Prototype-Bibliothek in Ihrem javascripts Ordner.

  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

Stellen Sie sicher, dass die Datei vorhanden ist. Wenn nicht, ein neues Projekt erstellen und kopieren Sie die Dateien von seinem / public / Javascript-Verzeichnis.

Dies könnte auch passieren, wenn Sie einen Controller namens javascripts haben.

Versuchen Sie es mit:

<%= javascript_include_tag :defaults  %>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top