Rails开发中的路由与ActiveRecord使用指南
1. 路由的嵌套与参数设置
在Rails开发中,实现路由嵌套效果有多种方式。可以通过在资源映射方法中明确指定 :path_prefix 参数来实现。例如,对于嵌套在拍卖中的投标资源,可以这样设置:
map.resources :auctions
map.resources :bids, :path_prefix => "auctions/:auction_id"
这样,所有投标的URL都会包含静态字符串 auctions 和 auction_id 的值,这是将投标与特定拍卖关联起来所需的上下文信息。不过,这种方法与真正的资源嵌套在生成的辅助方法名称上有所不同。嵌套资源会自动获得与父资源对应的名称前缀。
有时,需要将某个资源嵌套在多个其他资源中,或者在不同情况下以不同方式访问资源。这时可以使用 :name_prefix 参数来控制命名路由辅助方法的生成。假设要以两种方式访问投标资源,即通过拍卖和仅指定投标编号,可以这样操作:
map.resources :auctions do |auction|
auction.resources :bids, :name_prefix => nil
end
map.resource :people do |people|
people.resources :bids, :name
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



