例如,如果我想查找所有带有标签的帖子" Music"和贝塔莱斯",我该怎么做呢?而且,我如何在我的路线中列出这样的帖子列表?注意:我使用acts_as_taggable gem来制作我的标签。
答案 0 :(得分:0)
# Find users that matches all given tags:
User.tagged_with(["awesome", "cool"], :match_all => true)
如果您遇到困难,文档中还有很多其他示例可供使用。
我不确定你的“路线中的帖子列表”是什么意思。如果您想显示已使用这些标签标记的用户(在上例中),请尝试以下操作:
# index action controller
@users = User.tagged_with(["awesome", "cool"], :match_all => true)
# index.html.erb
<% @users.each do |u| %>
<%= u.name %>
<%= u.whatever %>
<% end %>
修改强> 我认为根据您对问题的评论,您想要建立一个链接,以查看已使用指定标记标记的所有用户。在这种情况下,请在用户块下设置客户路线(在此示例中)。
resources :users do
collection do
get :tagged
end
end
然后<%= link_to 'Tagged', tagged_users_path(tag1: "cool", tag2: "supernice") %>
控制器tagged
操作:
@users = User.tagged_with([params[:tag1], params[:tag2]], :match_all => true)
然后在您的视图中显示您喜欢的内容。