2016-10-19 2 views
2

Alle Stylesheet Unterordner auf meiner Rails 4 App funktionieren in Heroku mit Ausnahme von einem. Der eine, der nicht funktioniert, arbeitet in der Entwicklung FEIN, aber wenn ich ihn veröffentliche, funktioniert es nicht. Es zeigt einen 404 Fehler und lädt alles außer dem scss. Ich habe 2 verschiedene Namespaces zusätzlich zu den root, "blog" und "admin". Es ist der Unterordner "admin", der nicht funktioniert, aber er ist genauso aufgebaut wie der Unterordner "blog" und der Unterordner "theme1" der Hauptseite ..., die beide die Assets gut bedienen.Ein Ordner von Assets 404 Fehler auf Heroku Rails 4

Ich habe alle üblichen Asset-Debugging für Asset-Pipeline versucht (serve_static_files, saubere Assets, Precompile) und es macht keinen Unterschied, weil die meisten meiner Assets arbeiten, nur nicht diesen einen Ordner.

Hier meine Dateistruktur: Sheets

├── admin_manifest.scss # this is precompiled 
├── _admin 
| ├── css 
     ├── "10 stylesheets" 
| └── admin.scss #@imports of the 10 stylsheets & fonts 
├── application.scss # this is precompiled and includes the theme1_manifest.scss as well as plugins, jquery, etc 
├── blog_manifest.scss # this is precompiled 
├── _blog 
| ├── shortcodes.scss 
| └── theme_style.scss 
├── theme1_manifest.scss # this is precompiled 
├── _theme1 
| ├── shortcodes.scss 
| └── theme_style.scss 

Auch das Blog und theme1 Unterordner perfekt funktionieren, und der Admin-Unterordner arbeitet in der Entwicklung, ich kann einfach nicht herausfinden, warum es nicht funktioniert in Produktion.

+0

Warnung: Ich kann wahrscheinlich nicht helfen, aber es ist eine Frage, die ich fragen würde, und das ist: Können Sie bitte entpacken der Phrase "es funktioniert nicht" - was beobachtest du passiert (oder nicht) und was erwartest du stattdessen? –

+1

Ah, 404 Fehler. Ich lege es in den Titel, ich werde es in den Text schreiben. Es kann nur diese spezifischen Assets nicht finden und wenn ich es inspiziere, ist es ein 404. – NothingToSeeHere

+0

try run: heroku config: set RAILS_SERVE_STATIC_FILES = true – Bandi

Antwort

2

Das Problem entsteht in einer Produktionsumgebung und funktioniert einwandfrei in der Entwicklungsumgebung zeigt an, dass die Vermögenswerte nicht eingehalten werden.

Dies ist ein Problem im Zusammenhang mit der Konfiguration einer Rails App in Heroku.

One Lösung ist precompile die Vermögenswerte in den Bereichen Umwelt und Entwicklung laden die kompilierten Vermögenswerte Heroku.

Um mehr darüber zu erfahren, lesen Sie über Heroku-Konfiguration für eine Schiene App.

Folgen Sie den folgenden Schritten:

Sicherstellen, dass die folgenden in der Datei /config/environments/production.rb:

config.cache_classes = true 
config.serve_static_assets = true 
config.assets.compile = true 
config.assets.digest = true 

In den Edelstein rails_12factor zusammen mit pg Juwel in der Produktion

gem 'rails_12factor'

Precompile die CSS Dateien:

bundle exec rake assets:precompile RAILS_ENV=production

Commit und die CSS-Dateien zu Heroku drücken:

git add . 
git commit -m "Precompiled assets" 
git push heroku master