簡體   English   中英

將Rails_Env設置為生產的預編譯資產

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM