9

Ich bekomme dies, wenn Sie Foundation 5.0.2.0 im Produktionsmodus verwenden.Zurb Foundation 5, moderniszr nicht gefunden

Auf Schienen, Einhorn, NginX & Ubuntu.

"NetworkError: 404 Not Found - http://mydomain.com/javascripts/vendor/modernizr.js" 
+0

Ich gehe davon aus '... nu' ist Ihr verschleierter Domain-Name? – pjmorse

+0

@pjmorse, ja =) – Philip

Antwort

10

aktualisieren 3/13/14

I don habe dieses problem nicht auf heroku mit foundation-rails-5.1.1.0. Hinzufügen von javascript_include_tag "vendor/modernizr" im Kopf funktioniert. Ich konnte die modernizr ich an den Lieferanten-Verzeichnis kopiert entfernen und die zusätzliche Zeile in app.js


ich auf Heroku hatte das gleiche Problem entfernen, würde Absturz der App, weil es nicht modernizr.js finden konnten. Hier ist, wie ich es fest:

  • Copy modernizr.js von Stiftung (wo auch immer Sie es mit bundler installiert) in Verkäufer/assets/Javascripts/.
  • Fügen Sie //= require modernizr unter //= require_tree . auf application.js hinzu.
  • entfernen javascript_include_tag "vendor/moderizr" von application.html
+0

Das hat bei mir funktioniert. Vielen Dank! –

+0

Das behebt das Problem, aber der Fehler wird weiterhin angezeigt, obwohl ich den javascript_include_tag entfernt habe. Aber der Modernisierer ist aktiviert. Aber es sollte richtig gelöst werden. Aber bis dahin ist das der richtige Weg. – Philip

+0

Ich denke, dass ich ein Problem hatte, die Dinge auf diese Weise zu tun, weil Foundation-Rails derzeit die Datei application.js aus dem Hauptteil und nicht den Kopf von application.html aufruft und ich andere Skripte hatte, die nur funktionierten, wenn sie in den Kopf gesetzt wurden vormodernis verlangen. – Ribena

1

Versuchen Sie, den Edelstein, den Sie für Foundation verwenden, zu aktualisieren. This commit from five days ago may help you seit es behauptet, eine fehlende modernizr.js Datei hinzuzufügen.

+0

Dies ist in der Tat ein Teil des Problems. Nach erfolgreicher Aktualisierung funktioniert es jedoch immer noch nicht. Ich habe sogar die Datei custom.modernizr.js aus dem Verzeichnis bower_componenets/foundation/js/vendor in das Verzeichnis rails vendor/accesjavascripts kopiert. Immer noch keine Liebe. Musstest du noch etwas tun, damit es funktioniert? – Joe

+0

Ich habe Ihre Konfiguration nicht versucht. Ich habe gerade ein Commit im Repository der Foundation entdeckt, das eine Lösung vorgeschlagen hat. – pjmorse

3

habe ich den gleichen Fehler wie du und ich habe das es zu beheben:

In config/environments/production.rb, setzen Sie diese:

# Do not fallback to assets pipeline if a precompiled asset is missed. 
config.assets.compile = true 
+2

Das funktioniert aber ist eine schlechte Übung. Sie sollten herausfinden, warum das Asset nicht vorkompiliert wurde und wenn möglich, stellen Sie sicher, dass es vorkompiliert wird. Siehe meine Antwort für eine temporäre Lösung. – Ribena

0

Es gibt ein Problem mit der Version der gem Grundschienen Sie verwenden. Tatsächlich hat sogar die aktuellste Version (5.0.3.1) dieses Problem. Es gibt eine Pull-Anforderung, die dieses Problem beheben behauptet: https://github.com/zurb/foundation-rails/pull/71 aber eine weitere Option für jetzt ist Ihr Juwel 5.0.3.1 und fügen Sie folgende Zeile zu production.rb Datei zu aktualisieren:

config.assets.precompile += %w(vendor/modernizr.js) 
0

Bitte beachten Sie die Anleitung aus ZURB hier:

http://foundation.zurb.com/docs/applications.html

Welche specifiy, dass das modernizr Skript im Kopf-Tag enthalten sein. Ich lief in dieser Frage und dann fixiert es den folgenden Code in Layouts/application.rb mit:

%head 

    %title= title 
    = stylesheet_link_tag "application" 
    = javascript_include_tag "vendor/modernizr" 
    = csrf_meta_tags 
    = favicon_link_tag 
    = yield(:head) 
0

Ich bin mit Grundschienen (5.2.2.0) und ich löste es, indem Sie gerade hinzufügen:

// = erfordern modernizr

unter

// = require_tree.

in app/assets/Javascripts/application.js

Verwandte Themen