将 Rails_Env 设置为生产的预编译资产
Precompiling assets with Rails_Env set as production
我正在尝试 运行 $ rake assets:precompile RAILS_ENV=production
以便:1) 缩小我的资产(遵循此答案:How do I minify CSS in Rails 4?)和 2) 在我的JS(即,我的 JS 有 ENV['variable']
并且当我 运行 一个常规 rake assets:precompile
然后推送到 Heroku 时,代码 运行s 与 [=14= 的开发版本] 而不是生产的。
但是,我 运行 遇到了一个错误的问题:
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 的数据库。
然后,资产预编译应该可以查询生产数据库并编译资产。
显然,不要将其签入版本控制。
我正在尝试 运行 $ rake assets:precompile RAILS_ENV=production
以便:1) 缩小我的资产(遵循此答案:How do I minify CSS in Rails 4?)和 2) 在我的JS(即,我的 JS 有 ENV['variable']
并且当我 运行 一个常规 rake assets:precompile
然后推送到 Heroku 时,代码 运行s 与 [=14= 的开发版本] 而不是生产的。
但是,我 运行 遇到了一个错误的问题:
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 的数据库。
然后,资产预编译应该可以查询生产数据库并编译资产。
显然,不要将其签入版本控制。