猿问

rails 3的route中可否自定义参数形式,不适用默认:id

resources:usersdo
resources:collections
end
这样的嵌套route,在rake后会得到
/users/:user_id/collections/:id和/users:id/
我能不能自定义参数形式,希望得到这样的url
/users/:user_id
and
/users/:user_id/collections/:collection_id
并且,最关键的是,由params对象取参数时候,不再是params[:id],而是params[:user_id]。
查过很多资料,都说重写to_param方法和使用friendly_idgem可以解决问题。但是其实这些都只是改变了url的形式,本身route并没有被改变,所以params[:user_id]的参数取法还是取不到的。
是否有其他可用的办法?
慕容708150
浏览 581回答 2
2回答

繁花如伊

resources:usersdoresources:collectionsget':user_id',:action=>:show,:on=>:collectionend

森林海

不太理解为啥你需要:userid和:collectionid,因为这两个从语义上来说应该是代表nestedresources,而:id是代表memberresource。如果你真的需要,那就不能用resources,而是自己用match去加参数。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答