我在openshift rails中部署我的代碼,但它沒有正確使用資產。 它既不加載JavaScript,也不加載圖像。 如何使它工作?如何在開放式移動導軌中使用資產
回答
您需要檢查的第一件事是資產是否存在於您的應用程序中。在build.sh
腳本之前運行This script(後面會提到)。它會嘗試爲您的public/assets
文件夾(here is the reasoning behind this)創建符號鏈接。即使您有該目錄,rake
任務仍然可以工作;這些資產只會被一舉消滅。
無論何時您推送到您的git存儲庫,您的資產都應該編譯。這由Ruby 1.9磁帶盒中的this script負責(這是由服務運行的,您無法控制它)。正如你所看到的,只要你有一個Gemfile文件(對於所有Rails應用程序都應該是這種情況),它將運行bundle exec rake assets:precompile
。
儘管如此,你應該做的第一件事是檢查你的.openshift/action_hooks
,以確保你沒有運行任何可能覆蓋你的public/assets
目錄的東西。您可以將它們與here進行比較。
你應該做的下一件事實際上是檢查OpenShift主機上的目錄。你可以通過SSH進入你的應用(instructions are here)。然後檢查你的public/assets
目錄。注意:部分輸出已縮短爲....
。
# First we make sure it is a symlink.
> file $OPENSHIFT_REPO_DIR/public/assets
..../app-root/runtime/repo/public/assets: symbolic link to `..../data//assets'
# Then we see if there is anything in it
> ls $OPENSHIFT_REPO_DIR/public/assets
.... (should have a bunch of.js, .css, etc files)
如果該目錄爲空,可能是編譯資產時出現問題。你應該注意輸出,當你git push
,看看是否有任何跡象表明它失敗(你可能想要捕獲輸出使用tee
,如:git push 2>&1 | tee git_push.log
)。如果目錄中有資產,請按照these steps檢查您的日誌。
如果你仍然有問題,擺動我們IRC channel和有人應該能夠親自幫助。
感謝真棒回答:)我希望我可以給更多的票:) – phoenixwizard
- 1. 如何在使用資產管道時爲導軌中的功能開關創建「條件資產」?
- 2. 如何使用滑軌資產管道
- 3. 導軌 - 資產管道
- 4. 如何使用沒有鏈輪的導軌資產?
- 5. 在生產模式下的導軌安裝引擎資產
- 6. 導軌資產未投入生產
- 7. 未在生產環境或臨時環境中投放資產的導軌
- 8. 軌資產樣式config.rb
- 9. 資產管道導軌3.2不能在生產中工作
- 10. 導軌資產沒有在生產中預編譯
- 11. 資產管道不能在導軌生產環境中工作
- 12. 資產沒有在導軌的生產中加載
- 13. 如何更改用於導軌資產的路徑?
- 14. 導軌 - 如何獲取資產的絕對URL在css.erb
- 15. 如何導入的JavaScript在導軌和我的應用程序資產管道
- 16. 404時導軌資產管道第三方視頻播放器
- 17. 在我的資產文件中調用圖像的導軌
- 18. 導軌資產:主頁不加載資產
- 19. 是否有繞過導軌資產管道的導軌選項?
- 20. Flex移動版 - 打開包含在資產中的文件
- 21. 資產更改導軌崩潰
- 22. 預編譯問題導軌資產
- 23. 導軌設備/資產/庫存建模
- 24. 資產管道導軌3結構
- 25. TinyMCE導軌資產管道線
- 26. 導軌資產管道緩存字體
- 27. 與導軌資產整合管道Normalize.css
- 28. JSHint與導軌資產管道需要
- 29. 導軌資產預編譯CSS訂單
- 30. 導軌資產管道:無效的CSS
你是否在啓動服務器之前運行了'rake assets:precompile'命令? – abhas
這是自動運行... – phoenixwizard