【发布时间】:2013-12-20 20:14:09
【问题描述】:
我正在尝试使用 public_activity gem 创建活动日志。当我加载特定用户的活动时,我使用以下命令:
@activity = PublicActivity::Activity.order("created_at desc").where(owner_id: @awardleader.authentication.id).includes(:trackable, trackable: :awardunit)
在这里,awardunit 关联不会一直存在。由于我跟踪了多个模型,因此有时跟踪的模型没有奖励单元。那么,我们如何才能只在关联可用时才急切加载关联呢?
PS:我想获取所有活动...在该列表中,可以有来自不同模型的活动。某些模型没有 Awardunit 作为关联。因此,上面的代码给出了一个错误,指出该模型没有 Awardunit!
PS:如果我使用我在问题中显示的代码,它会给我这样的错误“在 Gold 上找不到名为 'awardunit' 的协会;也许你拼错了?”。问题是我无法删除正在加载的 Award_unit,因为一些可追踪对象有 Awardunit
【问题讨论】:
-
您要查找所有活动,还是只查找具有可跟踪 AwardUnit 的活动?
-
@janfoeh 所有活动...在该列表中,可以有来自不同模型的活动。某些模型没有 Awardunit 作为关联。因此,上面的代码给出了一个错误,指出该模型没有 Awardunit!
标签: ruby-on-rails ruby ruby-on-rails-4