1

gem 无法识别在添加 gem 之前创建的早期帖子。它只是在创建新帖子时才开始工作。那是为什么?

而且,如何让那些早期的帖子被覆盖public_activity

谢谢。
根据作者站点设置宝石。

4

1 回答 1

1

您必须使用create_activity方法手动创建旧活动。我为此创建了一个 rake 任务。

task public_activity_migration: :environment do
  User.find_each do |user|
    [:comments, :friends].each do |relation|
      user.send(relation).find_each do |obj|
        obj.create_activity :create, owner: user, created_at: obj.created_at
        print "."
      end
    end
  end
end

上面的代码将为评论和朋友模型创建活动。如果您不使用强参数,您还需要允许在模型created_at上设置属性。PublicActivity::Activity这可以通过在运行任务之前添加以下代码来完成。

class PublicActivity::Activity
  attr_accessible :created_at
end
于 2016-01-05T02:40:36.807 回答