【问题标题】: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