我试图运行$ 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的数据库。
然后,资产预编译应该能够查询生产数据库并编译资产。
显然,不要将其检查到版本控制中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句