2017-04-21 1 views
1

Ich arbeite an einer kleinen Web-App und es funktioniert gut auf meinem Laptop. Aber wenn es auf Heroku eingesetzt wird, fehlt das Styling und das Bild.CSS und Image-Datei funktioniert nicht in heroku

Web App-Link: https://vast-crag-53030.herokuapp.com/

-Code Repository: https://github.com/alokshrotri/commuteStats

Ich bin Schiene 5 und bin auf Windows 7

ich in der Lage war, führen Sie den folgenden Befehl ein, verpflichtet zu GitHub und umgeschichtet zur Verwendung von Heroku, aber ohne Erfolg.

bundle exec rake assets:precompile

Wenn ich mit RAILS_ENV = Produktion laufen, bekomme ich einen Fehler wie unten gezeigt. Hier (= require_tree.) Ist unkommentiert.

Wenn ich kommentiere (// = require_tree.) Dann ist die Ausgabe anders.

C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> bundl 
e exec rake assets:precompile RAILS_ENV=production 
(in C:/Users/u0126252/Documents/GitHub/commuteStats) 
rake aborted! 
ExecJS::ProgramError: TypeError: Object doesn't support this property or method 

Tasks: TOP => assets:precompile 
(See full trace by running task with --trace) 
C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> 

Haben versucht, mehrere Beiträge um dieses zu lesen, aber es hat nicht geholfen. Ich möchte sicher nicht config.assets.compile = true dem Code hinzufügen.

Jede Hilfe um es wäre toll. Umgebungsdetails unten. Gerne stellen wir Ihnen weitere Informationen zur Verfügung.

C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> rails 
-v 
Rails 5.0.2 
C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> ruby 
--version 
ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32] 

C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> syste 
minfo | findstr /B /C:"OS Name" /C:"OS Version" 
OS Name:     Microsoft Windows 7 Enterprise 
OS Version:    6.1.7601 Service Pack 1 Build 7601 
C:\Users\u0126252\Documents\GitHub\commuteStats\bin [master ≡ +0 ~1 -0 !]> 
+0

Was passiert, wenn Sie "Assets" aus der URI entfernen? '<% = image_tag 'button.png'%>' Warum verwenden Sie das html-Link-Tag für Ihre application.css in Ihrem application.html.erb-Layout? Ersetzen Sie das mit '<% ​​= stylesheet_link_tag ', media:' all ',' data-turbolinks-track '=> true%>' – DevJem

+0

@Dithania Wenn ich einfach <% = image_tag' button.png '%> verwende , dann erhalte ich einen Fehler "TypeError: Objekt unterstützt diese Eigenschaft oder Methode nicht". Ich bin neu in HTML und CSS-Codierung. Wird mehr über die Zeile stylesheet_link_tag lesen und bearbeiten. Ich werde dich das Ergebnis wissen lassen. –

+0

Welchen Fehler bekommen Sie? Und hat das Ändern Ihres Stylesheet-Links funktioniert? – DevJem

Antwort

1

Also, ich würde zuerst mit der einfachen beginnen, das Bild wird nicht angezeigt, weil Sie es sagen, an der falschen Stelle zu suchen. Wechseln zu:

<%= image_tag "button.png" %> 

Zweitens können Sie das Stylesheet bekommen in eine von zwei Arten angezeigt werden:

Änderung config.assets.compile = false auf true (nicht empfohlen)

oder fügen Sie

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>

als Dithanial schreiben Sie in den Kommentar und lassen Sie das Flag auf false gesetzt.

Hier ist eine Arbeits Live-Version: https://polar-refuge-16359.herokuapp.com/

Ich werde eine PR auf GitHub Repo machen und Sie können sehen, was ich auf die Version tat, die auf Heroku ist.

+0

Das funktioniert super. Ich habe den Code zusammengeführt und mein Problem wurde behoben. Habe die Antwort upvoted, aber es ist nicht sichtbar wegen meiner schlechten Rufpunkte. Vielen Dank für Ihre Hilfe. –

+0

Ich bin froh zu hören, dass es Ihnen geholfen hat :) Sie können die Antwort auch annehmen, wenn Ihr Problem gelöst ist. – oneWorkingHeadphone

+0

Ich habe es akzeptiert. Danke noch einmal. –

Verwandte Themen