mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Automatically convert dashes to underscores for url helpers
This commit is contained in:
parent
080fc9cad3
commit
746abbcc31
4 changed files with 20 additions and 2 deletions
|
@ -1,3 +1,16 @@
|
|||
* Add ability to set a prefix name for routes which have hyphen(s).
|
||||
|
||||
get '/contact-us' => 'pages#contact'
|
||||
get '/about-us' => 'pages#about_us'
|
||||
|
||||
The above routes will inspected to
|
||||
|
||||
Prefix Verb URI Pattern Controller#Action
|
||||
contact_us GET /contact-us(.:format) pages#contact
|
||||
about_us GET /about-us(.:format) pages#about_us
|
||||
|
||||
*Amr Tamimi*
|
||||
|
||||
* Fix stream closing when sending file with `ActionController::Live` included.
|
||||
|
||||
Fixes #12381
|
||||
|
|
|
@ -1440,7 +1440,7 @@ module ActionDispatch
|
|||
path = path_for_action(action, options.delete(:path))
|
||||
action = action.to_s.dup
|
||||
|
||||
if action =~ /^[\w\/]+$/
|
||||
if action =~ /^[\w\-\/]+$/
|
||||
options[:action] ||= action unless action.include?("/")
|
||||
else
|
||||
action = nil
|
||||
|
@ -1636,6 +1636,7 @@ module ActionDispatch
|
|||
when :root
|
||||
[name_prefix, collection_name, prefix]
|
||||
else
|
||||
prefix.gsub!(/\-/, '_') if prefix.is_a?(String)
|
||||
[name_prefix, member_name, prefix]
|
||||
end
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ module ActionDispatch
|
|||
end
|
||||
engine.routes.draw do
|
||||
get '/cart', :to => 'cart#show'
|
||||
get '/view-cart', :to => 'cart#show'
|
||||
end
|
||||
|
||||
output = draw do
|
||||
|
@ -50,7 +51,8 @@ module ActionDispatch
|
|||
" blog /blog Blog::Engine",
|
||||
"",
|
||||
"Routes for Blog::Engine:",
|
||||
" cart GET /cart(.:format) cart#show"
|
||||
" cart GET /cart(.:format) cart#show",
|
||||
"view_cart GET /view-cart(.:format) cart#show"
|
||||
], output
|
||||
end
|
||||
|
||||
|
|
|
@ -30,10 +30,12 @@ module ActionDispatch
|
|||
draw do
|
||||
get 'foo', to: SimpleApp.new('foo#index')
|
||||
get 'bar', to: SimpleApp.new('bar#index')
|
||||
get 'foo-bar', to: SimpleApp.new('bar#index')
|
||||
end
|
||||
|
||||
assert_equal '/foo', url_helpers.foo_path
|
||||
assert_equal '/bar', url_helpers.bar_path
|
||||
assert_equal '/foo-bar', url_helpers.foo_bar_path
|
||||
end
|
||||
|
||||
test "url helpers are updated when route is updated" do
|
||||
|
|
Loading…
Reference in a new issue