Rails double nested routes, broken up -
i have these routes:
map.resources :categories |category| category.resources :sub_categories end map.resources :sub_categories |sub_category| sub_category.resources :events end
this url doesnt have doubly nested, want keep url max of 2 objects deep.
the problem events, i want require there /sub_categories/:sub_category_id path_prefix, using
map.resources :events, path_prefix => '/sub_categories/:sub_category_id'
gives me routes
event_path
what want have is
sub_category_event_path
because time user wants *sub_category*, want url require *category_id* provided, if user wants see event, sub_category_id must provided.
you're right, generate event_path
, event_path
require :sub_category_id
option. sub_category_event_path
helper, write one:
class applicationcontroller < actioncontroller::base private def sub_category_event_path(sub_category, event) event_path(event, :sub_category_id => sub_category) end helper_method :sub_category_event_path end
unfortunately, if ever want sub_category_event_url
, you'll have write 1 too.
rails 3 have new support shallow routes might interest you. consider upgrading!
Comments
Post a Comment