【问题标题】:Rails gem - Public Activity for earlier postsRails gem - 早期帖子的公共活动
【发布时间】:2015-09-30 20:05:14
【问题描述】:

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

还有,如何让public_activity 覆盖那些早期的帖子

谢谢。
根据作者网站设置 Gem。

【问题讨论】:

标签: ruby ruby-on-rails-3 ruby-on-rails-4 public-activity


【解决方案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

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

class PublicActivity::Activity
  attr_accessible :created_at
end

【讨论】:

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