aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-02-06 11:59:58 -0800
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-02-06 11:59:58 -0800
commit329c82380ee886714ab4e4620e7a5b507716a794 (patch)
tree2177c3b7cf691bb201f49b52e042a66d5ea47242 /actionpack/lib
parent99bb2fd892a2a876ba0f4017bd3cc87033a4deb3 (diff)
parent69f28a7d8dfc018b948d9f70fc65a8a1b7735b8f (diff)
downloadrails-329c82380ee886714ab4e4620e7a5b507716a794.tar.gz
rails-329c82380ee886714ab4e4620e7a5b507716a794.tar.bz2
rails-329c82380ee886714ab4e4620e7a5b507716a794.zip
Merge pull request #9039 from senny/warn_on_controller_option_with_ruby_constant_syntax
ruby constant syntax is not supported as routing `:controller` option.
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 82ef1d0333..34f5f80d4d 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -246,6 +246,12 @@ module ActionDispatch
raise ArgumentError, "missing :action"
end
+ if controller.is_a?(String) && controller !~ /\A[a-z_\/]+\z/
+ message = "'#{controller}' is not a supported controller name. This can lead to potential routing problems."
+ message << " See http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use"
+ raise ArgumentError, message
+ end
+
hash = {}
hash[:controller] = controller unless controller.blank?
hash[:action] = action unless action.blank?