出于某种原因,我使用的Rails应用程序具有混合环境。例如,应用程序使用config / environments / production.rb并登录到log / production.rb,但是使用config / database.yml中的开发设置,“ rake about”显示开发模式:
About your application's environment
Rails version 4.2.7.1
Ruby version 2.1.9-p495 (x86_64-linux-gnu)
RubyGems version 2.4.5.4
Rack version 1.6.5
JavaScript Runtime Node.js (V8)
Middleware Rack::Sendfile, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x0000000633e5b8>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag, Warden::Manager, HttpAcceptLanguage::Middleware, OmniAuth::Strategies::GoogleOauth2
Application root /var/www/[#########]
Environment development
Database adapter mysql2
Database schema version 20191114203932
服务器运行Apache和Passenger。
如何打开Rails应用程序所有部分的生产模式?
您的Apache / Passenger设置很可能会将环境设置为生产环境。这仅适用于通过Apache发出的Web(HTTP)请求。
除非另有规定,否则默认情况下rake / rails在开发模式下运行。您可以通过设置常量RAILS_ENV来实现。这可以通过在bash脚本中设置或在运行命令时进行,例如:
RAILS_ENV=production rake about