【发布时间】:2011-06-11 16:39:01
【问题描述】:
我有以下路线:
get "/:user_name/things/:thing_name" => "things#show", :as => "show_user_thing"
Thing 属于 user。所以只有thing 的一个实例我有两个参数。但是,当使用路由助手时,我不得不像这样单独指定每个段:
show_user_thing_path(@thing.user, @thing)
这很糟糕。我宁愿这样做:
show_user_thing_path(@thing)
但是我如何使用“路线辅助方式”来做到这一点?我很想仍然将所有的铁路好东西用于这样的路线。有什么想法吗?
【问题讨论】:
-
我很好奇为什么你在路由中需要用户名,因为无论如何你都是从事物中拉出用户。为什么不
/things/:thing_name -
@natedavisolds 因为我使用的 slug 可能会相互碰撞,除非在用户的命名空间中。换句话说,许多用户可以拥有同名的东西。
-
很公平。我将在下面的答案中试一试
标签: ruby-on-rails ruby-on-rails-3 routing helpers