【问题标题】:Create factory for public_activity rspec为 public_activity rspec 创建工厂
【发布时间】:2013-07-25 02:45:31
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 rspec factory-bot


    【解决方案1】:

    盲答,试试这个:

    factory :activity, class: 'PublicActivity::Activity' do
       trackable_id :answer
       recipient_id :user
       owner_id :user
    end
    

    【讨论】:

      【解决方案2】:

      这适用于 FactoryBot:

      FactoryBot.define do
        factory :activity, class: 'PublicActivity::Activity' do
          association :trackable, factory: :answer
          association :recipient, factory: :user
          association :owner, factory: :user
        end
      end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多