rails嵌套资源将编辑路径作为id

时间:2011-08-31 19:09:28

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有以下路线

resources :users, path: '/' do
   resources :posts, path: '/'
end
问题是内部路由覆盖了用户编辑路径的外部路由。

http://localhost/user/edit参考帖子#show而不是#edit

修改

奇异资源不是解决方案,我想通过他的ID访问用户。

假设我有id为“Jo”的用户并使用id“My-First-Post”发帖,那么相应的路由应为http://localhost/Jo/My-First-Post。我现在的解决方案就可以了。

问题是,当我访问/ Jo / edit时,我得到一个异常,即没有id为“edit”的帖子,而我希望这条路由引用Jo的编辑页面(用户#edit)

1 个答案:

答案 0 :(得分:0)

你想要达到什么目的?它看起来像你想要一个单一的资源。如果是这种情况,你可以这样做:

的routes.rb

resource :user

所以只需将单词resourceuser设为单数。然后你会得到奇异的路线,比如user/edit

有关详细信息,请参阅Rails指南:http://guides.rubyonrails.org/routing.html#singular-resources