[英]Precompiling assets with Rails_Env set as production
我正在嘗試運行$ rake assets:precompile RAILS_ENV=production
以便:1)縮小資產(遵循以下答案: 如何縮小Rails 4中的CSS? )和2)在JS中使用生產級別變量(即,我的JS具有ENV['variable']
並且當我運行常規rake assets:precompile
然后推送到Heroku時,代碼使用ENV['variable']
的開發版本而不是生產版本運行。
但是,我遇到了一個錯誤:
rake aborted!
Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
錯誤是針對我正在編譯的JS文件中的這一行:
var items_to_be_added = [{
id: '<%= ItemName.where(name:"Jacket").first.id %>',
name: "Jacket",
number: 1
}
但是奇怪的是我運行了一個heroku run gem list
並且已經安裝了pg 0.15.1
。
任何幫助,不勝感激!
您將必須在database.yml中指定Heroku的postgres數據庫。
首先,在命令行上: heroku config
它應該吐出DATABASE_URL: postgres://<username>:<password>@<host>/<database>
將這些值放在您的database.yml文件中,以便您的本地環境知道如何連接到Heroku的數據庫。
然后,資產預編譯應該能夠查詢生產數據庫並編譯資產。
顯然,不要將其檢查到版本控制中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.