diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 6a30e8cfa0c2c..38dadb38d80dd 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -594,6 +594,7 @@ def generate_development_secret if !File.exist?(key_file) random_key = SecureRandom.hex(64) + FileUtils.mkdir_p(key_file.dirname) File.binwrite(key_file, random_key) end diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index 68c2199aba7d2..9f7dcb38dc9a4 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -518,6 +518,9 @@ def index Rails.application.credentials.secret_key_base = nil RUBY + # For test that works even if tmp dir does not exist. + Dir.chdir(app_path) { FileUtils.remove_dir("tmp") } + app "development" assert_not_nil app.secrets.secret_key_base