0

我正在使用 public_activity gem,并且我有一个方法可以在删除可跟踪父项时删除活动记录。如下所示。

def destroy
    @comment = Comment.find(params[:id])
    if @comment.destroy
      @activity = PublicActivity::Activity.where(trackable_type: "Comment", trackable_id: @comment.id).first
        @activity.destroy
        respond_to do |format|
          format.js
        end
      end
  end

我已经尝试了很多不同的名称用于 public_activity 工厂,但是似乎没有一个可以工作并返回trait not registered

如何使用正确的名称设置 public_activity 工厂?

工厂.rb

factory :activity do
   trackable_id :answer
   recipient_id :user
   owner_id :user
end
4

2 回答 2

3

盲目回答,试试这个:

factory :activity, class: 'PublicActivity::Activity' do
   trackable_id :answer
   recipient_id :user
   owner_id :user
end
于 2013-07-25T03:21:05.863 回答
0

这适用于 FactoryBot:

FactoryBot.define do
  factory :activity, class: 'PublicActivity::Activity' do
    association :trackable, factory: :answer
    association :recipient, factory: :user
    association :owner, factory: :user
  end
end
于 2019-11-18T16:54:50.930 回答