aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorYoshiyuki Kinjo <yskkin@gmail.com>2018-03-31 21:47:04 +0900
committerYoshiyuki Kinjo <yskkin@gmail.com>2018-03-31 23:12:16 +0900
commit7419a4f911b2f8521db3ecfcd78148cf89ebd221 (patch)
tree33f46838a5e3362fcc6d2c176ead7ad5e6049d9b /railties/lib
parent5616c08401ddfbb43d2281c86247027316c28117 (diff)
downloadrails-7419a4f911b2f8521db3ecfcd78148cf89ebd221.tar.gz
rails-7419a4f911b2f8521db3ecfcd78148cf89ebd221.tar.bz2
rails-7419a4f911b2f8521db3ecfcd78148cf89ebd221.zip
Deriving `secret_key_base` breaks `key_generator` defined in 5.1.
If one created Rails 5.1 app and then updated to 5.2, `secret_key_base` defined in `config/secrets.yml` is ignored for `development` and `test` environment. A change in `secret_key_base` in turn breaks `Rails.application.key_generator`. If one encrypt data in Rails 5.1, she cannot decrypt it in Rails 5.2 for `development` and `test` environment.
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/application.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index a9dee10981..e346d5cc3a 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -427,7 +427,7 @@ module Rails
# the correct place to store it is in the encrypted credentials file.
def secret_key_base
if Rails.env.test? || Rails.env.development?
- Digest::MD5.hexdigest self.class.name
+ secrets.secret_key_base || Digest::MD5.hexdigest(self.class.name)
else
validate_secret_key_base(
ENV["SECRET_KEY_BASE"] || credentials.secret_key_base || secrets.secret_key_base