我将Heroku环境设置为暂存,但我的资产始终在生产环境中编译。
这是heroku config
:
GEM_PATH => vendor/bundle/ruby/1.9.1 LANG => en_US.UTF-8 PATH => bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin RACK_ENV => staging
我在production.rb
文件中添加了一个例外,因此我知道在编译资产时它正在运行哪个环境。服务器启动正常运行heroku run console
表明我正在运行暂存。
正是在运行assets:precompile
时,它始终处于生产阶段。
如果需要,我很乐意发布任何其他配置文件。
我可以补充说我正在运行Rails 3.2.2和heroku上的Cedar堆栈
heroku run rake about
的输出:
About your application's environment Ruby version 1.9.2 (x86_64-linux) RubyGems version 1.3.7 Rack version 1.4 Rails version 3.2.2 JavaScript Runtime therubyracer (V8) Action Pack version 3.2.2 Active Support version 3.2.2 Middleware Rack::Cache, ActionDispatch::Static, Rack::Lock, #, Rack::Runtime, Rack::Auth::Basic, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Callbacks, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, ActionDispatch::Head, Rack::ConditionalGet, Rack::ETag, ActionDispatch::BestStandardsSupport Application root /app Environment staging
运行heroku run rake assets:precompile
会给出:
/usr/local/bin/ruby /app/vendor/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=staging RAILS_GROUPS=assets
我应该放弃并发送电子邮件给Heroku吗?
答案 0 :(得分:19)
显然我需要enable a plugin才能使其发挥作用。
答案 1 :(得分:1)
尝试将RAILS_ENV
设置为staging
,看看是否让Heroku更快乐。