【发布时间】:2023-03-11 00:40:01
【问题描述】:
我正在构建一个类似于 Twitter 的克隆,其中包含(以及其他)模型、Hashtag 和 Post,它们彼此之间具有 has_many: through: 关系。
目前,访问/hashtags/pizza 将带您进入一个页面,该页面显示所有带有标签#pizza 的帖子。我想添加功能,以便您可以在 URL 中传递 多个 主题标签,并查看包含 所有 这些主题标签的帖子。例如,如果您访问了/hashtags/pizza/pasta(或hashtags/?pizza&pasta' 或任何最容易实现的东西),您将看到一个页面,其中包含所有带有标签 #pizza 和标签 的帖子#pasta.
我该怎么做?我不知道从哪里开始。
为了记录,我在控制器中想象的代码将是这样的。随意戳洞:
1 def show
2 requested_hashtags = ??????? # an array of hashtags e.g. ["music", "guitar"]
3 hashtag1 = Hashtag.find_by_name(requested_hashtags[0]) # in this case r_h[0] = music
4 hashtag2 = Hashtag.find_by_name(requested_hashtags[1]) # and r_h[1] = guitar
5 @posts = hashtag1.posts & hashtag2.posts
6 end
那么在我看来,我只会遍历@posts。 (上面的例子是愚蠢的,它假设总是有两个主题标签被请求,但原理是一样的。)
所以我的问题是,如何完成上面代码 sn-p 的第 2 行?
【问题讨论】:
标签: ruby-on-rails routes hashtag