map.resource :basket, :collection => { :checkout => :post }
上面的内容不适用于资源,正如您所期望的那样,由于basket是资源(即单数)而不是资源,因此没有集合的概念,所有内容都应限制在current_user范围内。在这种情况下,用户has_one购物篮。
但是我想指定一条自定义路由,而不必在路由中添加另一行,例如:
map.checkout 'basket/checkout', :controller => 'baskets', :action => 'checkout'
这可能吗?
当然,我的另一个选择是添加一个checkouts控制器。
最佳答案
只需使用:member
选项而不是:collection
:
map.resource :basket, :member => {:checkout => :post}
关于ruby-on-rails - 如何将自定义路由添加到单例资源?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3585835/