我有这个模型时间表:
class Question < ActiveRecord::Base
has_many :closed_questions
end
class ClosedQuestion < ActiveRecord::Base
belongs_to :question
belongs_to :user
end
我正在尝试为用户提取该用户未检查为关闭的所有问题。
示例:
ID | Question
1 | Question A
2 | Question B
3 | Question C
4 | Question D
User 1
已将状态为3
的问题视为已关闭。如何获取问题ID的输出1, 2, 4
?
提前谢谢。
答案 0 :(得分:1)
你可能想尝试这样的事情:
user = User.find(1)
Question.where.not(id: user.closed_questions.pluck(:question_id))
请注意,在Rails 4之前,您可能会将其视为:
user = User.find(1)
Question.where("id NOT IN (?)", user.closed_questions.pluck(:question_id))