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/

10-14 06:46