2011-02-08 25 views
16

Uygulamamı test/dev yerel olarak çalıştırdığımda görünümlerim güzel görünüyor ve her şey mutlu. Benim uzak sunucu/yerel üretim sunucuda çalışan bu aynı erb dosyalara gitmek için çalıştığımda gibi hatalar olsun şu: Ben burada SO benzer sorular gördük ama ettikRails üretim statik dosyaları yönlendirme hatası

ActionController::RoutingError (No route matches "/stylesheets/scaffold.css") 

hiçbiri çözmek mümkün olmuştur benim sorun. Bir cevaba ulaştığım en yakın şey şu ilk cevaptır: Rails 404 error for Stylesheet or JavaScript files

Bunu anladığım kadarıyla, web sunucumu statik dosyaları sunacak şekilde yapılandırmak en iyi şey. Bunu yerel olarak/Heroku'da nasıl yapabilirim?

Güncelleme raidfive önerisi gereğince ben yanlıştan doğruya config.serve_static_assets değişti ve bu benim sorunu giderilmiştir. Bununla birlikte, şunu görüyorum ki, üretim. Apache'nin veya nginx'in zaten statik varlıklara hizmet etmesi gerektiğini söylüyor. Bu şekilde statik varlıklara hizmet etmek için daha az iyi/profesyonel mi ve eğer öyleyse eğer Heroku kullanıyorumsa istenen sonuçları nasıl elde edebilirim?

Güncelleme

2 Görünüşe Heroku does this automatically, ben yaramazlık neden olan fazladan bir virgül vardı. Sorunu çözmek için following tip kullanarak genişletilmiş Heroku günlüklerine bakabildim. Teşekkürler çok!

+0

config/enviroment/production.rb yılında

"config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?" 

yorum gerekir? –

cevap

33

Rails 3 kullanıyor musunuz? Varsayılan olarak Rails 3/webrick, üretim modunda statik dosyalar sunmaz. Kolayca production.rb dosyada true için

config.serve_static_assets ayarlayarak bunu etkinleştirebilirsiniz.

Rails5 yılında
+0

Ah ha, bunun gibi bir şey olabileceğini düşündüm. Ancak, bu ayarın üzerinde, apache'nin veya nginx'in bunu zaten yapması gerektiğini söylediğini fark ettim. Sunucumda ayarlamam gereken bir şey var mı? – keybored

+0

Bunu görmezden gel, görünüşe göre Heroku otomatik olarak bir şey yapar. Sorunum, bazı nedenlerle yerel sunucumun görmezden geldiği virgülün hatalı yerleştirilmesiydi. Yardım için teşekkürler! – keybored

+0

Ah, sorun değil. Evet, bence Heroku'nun, okumak istediğinizde statik varlıklarla nasıl başa çıktıklarına dair bir belge sayfası var. – raidfive

İlgili konular