diff options
author | Robin Dupret <robin.dupret@gmail.com> | 2014-02-25 14:57:23 +0100 |
---|---|---|
committer | Robin Dupret <robin.dupret@gmail.com> | 2014-02-26 16:06:11 +0100 |
commit | fc61bca31d899f359671d4b58bceb8b9d6555aa7 (patch) | |
tree | d1377c903e19bd68f5fddcbde1cbd9f47ab90c06 /railties/test | |
parent | 6d35190bad0b054c9a1f4c736dc4dda32a7ebc91 (diff) | |
download | rails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.tar.gz rails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.tar.bz2 rails-fc61bca31d899f359671d4b58bceb8b9d6555aa7.zip |
Avoid namespacing routes inside engines
Since #11544, invoking the controller generator, any generated route is
namespaced according to the class_path method. Since a mountable plugin
is namespaced, creating a controller inside would generate a namespaced
route based on the engine's name.
The controller generator now relies on regular_class_path which does not
contain the class hierarchy but the given path.
Fixes #14079.
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/generators/plugin_generator_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/railties/test/generators/plugin_generator_test.rb b/railties/test/generators/plugin_generator_test.rb index 932cd75bcb..b2fc3a2a4f 100644 --- a/railties/test/generators/plugin_generator_test.rb +++ b/railties/test/generators/plugin_generator_test.rb @@ -355,6 +355,18 @@ class PluginGeneratorTest < Rails::Generators::TestCase FileUtils.rm gemfile_path end + def test_generating_controller_inside_mountable_engine + run_generator [destination_root, "--mountable"] + + capture(:stdout) do + `#{destination_root}/bin/rails g controller admin/dashboard foo` + end + + assert_file "config/routes.rb" do |contents| + assert_match(/namespace :admin/, contents) + assert_no_match(/namespace :bukkit/, contents) + end + end protected def action(*args, &block) |