【发布时间】:2015-02-23 01:36:50
【问题描述】:
在我的 rails 应用程序中,我有一个 Book 模型和一个 User 模型。
我使用acts_as_votable gem 允许对书籍模型进行投票。
在我的一个观点中,我目前正在呈现当前用户尚未投票的所有书籍的列表,然后从该列表中随机抓取一本书:
@books = Book.where.not(id: current_user.find_voted_items.map(&:id))
@book = @books.sample
我现在使用acts-as-taggable-on gem 为用户和图书添加了类别。
一本书或一个用户最多可以选择 9 个预定义的类别(标签),作为 tag_list 的一部分。
tag_list = "math, science, history, design, art, film, music, philosophy, poetry"
图书和用户共享这 9 个类别/标签。
我正在尝试检索与当前用户在其设置下选择的内容共享任何相似标签的所有图书的列表,不包括用户已经投票的所有图书,并且不包括属于当前用户的所有图书用户 (book.user != current_user)。
最后,我试图从这个列表中随机选择一本。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord acts-as-taggable-on