diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 558a4d1f57..6bc6c548d2 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -587,6 +587,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 eee2d633be..e34c075a1c 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -601,6 +601,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