我正在使用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工厂?
factories.rb
factory :activity do
trackable_id :answer
recipient_id :user
owner_id :user
end
盲目的答案,尝试这个:
factory :activity, class: 'PublicActivity::Activity' do
trackable_id :answer
recipient_id :user
owner_id :user
end
这适用于FactoryBot:
FactoryBot.define do
factory :activity, class: 'PublicActivity::Activity' do
association :trackable, factory: :answer
association :recipient, factory: :user
association :owner, factory: :user
end
end