ruby - Customize Rails' Default Resourceful Route Path -


tl;dr

i'd change default behaviour of rails resourceful routing, move create path resources it's post /resources/new rather /resources.


the setup

let's presume resourceful route specified so:

# routes.rb  resources :events 


the actual routes generated are:

$ rake routes      prefix verb   uri pattern                controller#action     events    /events(.:format)          events#index            post   /events(.:format)          events#create  new_event    /events/new(.:format)      events#new edit_event    /events/:id/edit(.:format) events#edit      event    /events/:id(.:format)      events#show            patch  /events/:id(.:format)      events#update            put    /events/:id(.:format)      events#update            delete /events/:id(.:format)      events#destroy 

n.b. create action triggered post /events path.


now, if want change path, can "manually", on per-resource basis:

# routes.rb  # i've placed routes in order, , used `as: "new_event"`, # avoid generating `events_new` path helper.  post 'events/new' => 'events#create', as: "new_event" resources :events, except: [:create] 


here generated routes:

$ rake routes      prefix verb   uri pattern                controller#action  new_event post   /events/new(.:format)      events#create     events    /events(.:format)          events#index               /events/new(.:format)      events#new edit_event    /events/:id/edit(.:format) events#edit      event    /events/:id(.:format)      events#show            patch  /events/:id(.:format)      events#update            put    /events/:id(.:format)      events#update            delete /events/:id(.:format)      events#destroy 


great! create action triggered post /events/new path, rather /events path.

every other route/helper behaves before — including /events/new, , new_event path/url helpers.


the question

rather manually overriding every create action, there way change default path used particular action?

failing that, other means use change bunch of resourceful routes, create action moved /new above?

thanks!


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -