2015-08-27 46 views
1

我有網的RoR,我跑資產:precomplie,我得到了文件軌入資產:precomplie,當加載文件不正確

**/application-dfaaca6b25e0d101d80f81c5cb194f6d39d331886613c0a392283b01b9911cb0.css** 

,但我的網頁加載的另一個文件

**application.self-a429e1a197d1ad3e5a775f50a60fd344db3ba490db151ab8c7494a78cba792a2.css**. 

我不知道原因。任何人都可以幫助我?非常感謝

回答

1

我得到了同樣的問題。那麼最後我找到了答案:

當您處理assets:precomplie時,您必須在運行rails時指定env,因爲在不同的環境中,資產版本不相同!

  1. 當您運行發展ENV軌道爲rails s,爲rake assets:precomplieassets:precomplie RAILS_ENV=development

  2. 當您運行在生產ENV軌道爲rails s -e p你應該處理,就應處理爲rake assets:precomplie RAILS_ENV=production

希望這有助於!

+0

謝謝您的支持。資產:預編譯RAILS_ENV是好的,但我不知道爲什麼所有文件都添加了「.self」(application.self-a429e1a197d1ad3e5a775f50a60fd344db3ba490db151ab8c7494a78cba792a2.css)。 – thienhv

+0

建議不要在開發環境中預編譯資產.. – illusionist

1

解決方案:

部署應用程序再次

如果還是沒有解決

  • SSH進入系統
  • 刪除文件your_app/manifest_backup
  • $ bundle exec rake assets:clear
  • $ bundle exec rake assets:precompile RAILS_ENV=production
  • 重新啓動網絡服務器(Nginx的爲重啓/etc/init.d/nginx$ sudo service nginx restart) 如果仍然沒有解決部署應用程序再次

欲瞭解更多信息請參見我的博客
https://cbabhusal.wordpress.com/2015/07/20/ruby-on-rails-production-staging-when-asset-path-is-outdated/

+0

https://cbabhusal.wordpress.com/2015/07/20/ruby-on-rails-production-staging-when-asset-path-is-outdated/ - >很好。謝謝你很多:-x – thienhv

+0

@thienhv如果這個工程,不要忘記投票通知未來的訪問者:) – illusionist