我有一个Thred模型,通过帖子有很多用户。
我在索引模板中获取所有threds @threds = Thred.all
然后render @threds
。
但是,我使用以下方法检查当前用户是否已在每个thred中回复:
if member && thred.user_posted?(current_user)
使用以下方法:
def user_posted?(user)
users = []
self.users.map { |u| users << u.id }
users.include?(user.id)
end
它有效,但我想知道是否有更有效的方法来做到这一点?
答案 0 :(得分:1)
def user_posted?(user)
user_ids = self.users.pluck(:id)
user_ids.include?(user.id)
end
或
def user_posted?(user)
self.users.where(id: user.id).any?
end