如何在路径/ URL中使用FriendlyID区分属于不同模型的:id?

问题描述 投票:0回答:1

我想知道如何生成包含两个不同模型的友好ID的URL。例如,如果您有一个名为“ Rails Tutorial”的帖子,并且属于一个名为“ Michael”的特定用户,并且他们每个人都使用a来代替其ID,那么您将如何生成类似于site.com/michael的url / rails-tutorial。

如果您将路线设置为:

get ':id/:id' => 'posts#show', as: 'show_post'

URL将是michael / michael或rails-tutorial / rails-tutorial,但是从我所知道的Friendly_id的工作方式来看,您的子弹由:id表示,因此您无法将其配置为与get'一起使用:user_id /:post_id'。

我确定我只是不太了解FriendlyID。任何帮助表示赞赏。

ruby-on-rails friendly-id
1个回答
1
投票

为了获得所需的网址,您需要嵌套路线:

resources :users do
  resources :posts
end

这将为您提供路线:

localhost:3000/users/slug/post/slug

您还必须在每个模型中都使用extend FriendlyId,将子弹添加到迁移中的每个模型中,并在控制器操作中使用.friendly

© www.soinside.com 2019 - 2024. All rights reserved.