aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/tasks.rb
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-11-05 13:37:21 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2017-11-05 13:46:28 +0900
commit4dcb630c6eaf7e4d8e450b3e9f19e38ebbf41d8b (patch)
treef568b4c8622259ea0cca1616595d27789da5d3cb /railties/lib/rails/tasks.rb
parent9ec67362054e874ed905310a79b670941fa397af (diff)
downloadrails-4dcb630c6eaf7e4d8e450b3e9f19e38ebbf41d8b.tar.gz
rails-4dcb630c6eaf7e4d8e450b3e9f19e38ebbf41d8b.tar.bz2
rails-4dcb630c6eaf7e4d8e450b3e9f19e38ebbf41d8b.zip
Generate the correct path in nested scaffold generator
Currently, namespaced scaffold generator will generate an incorrect path and the generated file will not work properly. ``` $ ./bin/rails g scaffold admin/user $ ./bin/rails db:migrate $ ./bin/rails t test/controllers # Running: E Error: Admin::UsersControllerTest#test_should_create_admin_user: NameError: undefined local variable or method `admin_admin_users_url' for #<Admin::UsersControllerTest:0x000055a59f25ff68> Did you mean? admin_users test/controllers/admin/users_controller_test.rb:20:in `block (2 levels) in <class:UsersControllerTest>' test/controllers/admin/users_controller_test.rb:19:in `block in <class:UsersControllerTest>' bin/rails test test/controllers/admin/users_controller_test.rb:18 ``` This is because combine `controller_class_path` and `singular_table_name` to generate route. https://github.com/rails/rails/blob/360698aa245b45349d1d1b12e1afb34759515e69/railties/lib/rails/generators/named_base.rb#L172 Normally, if using namspaced generator, table name already contains namespace. Therefore, adding `controller_class_path` adds extra namespace. Since it is special only when explicitly specifying `model-name`, it is modified to change the value only when `model-name`is specified. Follow up of #30729
Diffstat (limited to 'railties/lib/rails/tasks.rb')
0 files changed, 0 insertions, 0 deletions