aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2017-01-08 19:31:04 +0100
committerGitHub <noreply@github.com>2017-01-08 19:31:04 +0100
commitee47aab757b21740372441ff7d77b63201cb432d (patch)
tree45fe6e5681c777dc68121da15bd3dc93fa48bff7 /railties
parent80bf3384152a640a36682db875241e2d92db511f (diff)
parentb05fec04e9d74850cc5ad93a82e31bc6a74b4f71 (diff)
downloadrails-ee47aab757b21740372441ff7d77b63201cb432d.tar.gz
rails-ee47aab757b21740372441ff7d77b63201cb432d.tar.bz2
rails-ee47aab757b21740372441ff7d77b63201cb432d.zip
Merge pull request #27604 from prathamesh-sonpatki/dont-generate-erb-views-for-api-scaffold-controller
Don't generate HTML/ERB templates for scaffold controller with --api flag
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG.md6
-rw-r--r--railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb7
-rw-r--r--railties/test/generators/scaffold_controller_generator_test.rb6
3 files changed, 18 insertions, 1 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index 487f02d23f..6cb88ca01d 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,9 @@
+* Don't generate HTML/ERB templates for scaffold controller with `--api` flag.
+
+ Fixes #27591.
+
+ *Prathamesh Sonpatki*
+
* Make `Rails.env` fall back to `development` when `RAILS_ENV` and `RACK_ENV` is an empty string.
*Daniel Deng*
diff --git a/railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb b/railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
index e4f3161ffd..4cc1e2d0fd 100644
--- a/railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
+++ b/railties/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
@@ -20,7 +20,12 @@ module Rails
template template_file, File.join("app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
end
- hook_for :template_engine, :test_framework, as: :scaffold
+
+ hook_for :template_engine, as: :scaffold do |template_engine|
+ invoke template_engine unless options.api?
+ end
+
+ hook_for :test_framework, as: :scaffold
# Invoke the helper using the controller name (pluralized)
hook_for :helper, as: :scaffold do |invoked|
diff --git a/railties/test/generators/scaffold_controller_generator_test.rb b/railties/test/generators/scaffold_controller_generator_test.rb
index bd23faf268..9971626f9f 100644
--- a/railties/test/generators/scaffold_controller_generator_test.rb
+++ b/railties/test/generators/scaffold_controller_generator_test.rb
@@ -230,6 +230,12 @@ class ScaffoldControllerGeneratorTest < Rails::Generators::TestCase
assert_match(/@user\.destroy/, m)
end
end
+
+ assert_no_file "app/views/users/index.html.erb"
+ assert_no_file "app/views/users/edit.html.erb"
+ assert_no_file "app/views/users/show.html.erb"
+ assert_no_file "app/views/users/new.html.erb"
+ assert_no_file "app/views/users/_form.html.erb"
end
def test_api_controller_tests