diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 8a1a440fcacaac2912350d7c70a5791234286dab..133bafb1a3b92df366e0791ca90f834cfab26f14 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,7 @@ +* Make `Rails.env` fall back to `development` when `RAILS_ENV` and `RACK_ENV` is an empty string. + + *Daniel Deng* + * Add Webpack support in new apps via the --webpack option, which will delegate to the rails/webpacker gem. To generate a new app that has Webpack dependencies configured and binstubs for webpack and webpack-watcher: diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb index ee48043a50876960d548d28cab408308a2ef5df6..00add5829d5bc76d10b733d3fe250c71d30317d6 100644 --- a/railties/lib/rails.rb +++ b/railties/lib/rails.rb @@ -7,6 +7,7 @@ require "active_support/core_ext/kernel/reporting" require "active_support/core_ext/module/delegation" require "active_support/core_ext/array/extract_options" +require "active_support/core_ext/object/blank" require "rails/application" require "rails/version" @@ -67,7 +68,7 @@ def root # Rails.env.development? # => true # Rails.env.production? # => false def env - @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development") + @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"].presence || ENV["RACK_ENV"].presence || "development") end # Sets the Rails environment. diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index c409f1ea79318951291d12fbb7e5bc3a263db2f5..6d08aa609dfd75992678c27bd86d2bd25f05281d 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -78,6 +78,18 @@ def restore_default_config end end + test "Rails.env falls back to development if RAILS_ENV is blank and RACK_ENV is nil" do + with_rails_env("") do + assert_equal "development", Rails.env + end + end + + test "Rails.env falls back to development if RACK_ENV is blank and RAILS_ENV is nil" do + with_rack_env("") do + assert_equal "development", Rails.env + end + end + test "By default logs tags are not set in development" do restore_default_config