2013-08-17 46 views
0

我有一個部署到Heroku的Rails 3.2項目,並且使用資產同步已經發展到在Heroku上預編譯它們的資源過多的資產太多。所以我使用:在開發中的公開目錄中繞過資產

$ rake assets:precompile

...編譯本地資產(資產與同步推他們的S3桶)。顯然,這會在我的公用文件夾中創建一個assets文件夾,其中包含所有預編譯的資源。

現在,當我推送到Heroku時,它看到我已經預編譯了我的資產並跳過了預編譯,使得我的部署速度更快。

問題出現在我回到本地開發時。現在資產已經預編譯,Rails使用這些資產,並且不會接受我對本地文件所做的更改。顯而易見的事情是刪除資產,但這意味着每次我推動我需要首先重新預編譯資源,這是非常耗時的。

那麼如何告訴Rails忽略公共目錄中的任何資源,並在開發環境中使用我的非編譯本地文件。在config/environments/development.rb

回答

1

更改/設置assets_prefix,如建議在RailsGuides

config.assets.prefix = "/dev-assets" 

從現在on Rails的檢查,在開發模式這個文件夾(public/dev-assets)任何預編譯的資產,而不是默認位置(public/assets ) - 和使用您的unprecompiled本地文件,如果DEV-資產爲空:

由於rake assets:precompile運行在生產模式在默認情況下(同RAILS_ENV=production rake assets:precompile),編制資產仍被寫入默認位置public/assets,但從來沒有到public/dev-assets - 這樣你的dev-env根本不會受到影響......

相關問題