6

我正在浏览 Public Activity Gem Railscast Vid。(http://railscasts.com/episodes/406-public-activity

我当前的数据库看起来/存储除了收件人 ID 之外的所有内容......它显示为 nil

#<PublicActivity::Activity id: 108, trackable_id: 133, trackable_type: "Relationship",
owner_id: 1, owner_type: "User", key: "relationship.create", parameters: {}, 
recipient_id: nil, recipient_type: nil, created_at: "2013-06-16 07:37:28", 
updated_at: "2013-06-16 07:37:28">

我希望收件人 ID 是正在执行操作的用户....

前任。

如果我喜欢Tom's Post .....我希望 Tom 的 ID 成为 recipient_id 而我将成为 owner_id。

我目前已经设置了一个收件人 ID....使用我的喜欢控制器中的代码....但它只将收件人 ID 设置为当前用户....这不是我想要的:(

喜欢控制器

class Like < ActiveRecord::Base
  include PublicActivity::Model
  tracked except: :destroy, owner: ->(controller, model) { controller && controller.current_user }

  **tracked except: :destroy, recipient: ->(controller, model) { controller && controller.current_user }**

  attr_accessible :dailypost_id, :user_id

  belongs_to :user
  belongs_to :dailypost


  default_scope order: 'likes.created_at DESC'
end

我需要创建一个方法还是什么。请帮助......新的Rails

4

1 回答 1

11
tracked recipient: ->(controller, model) { model && model.user }

假设 Tom 是被跟踪对象的用户。否则model.user根据您的应用程序更改

于 2013-06-16T10:27:50.740 回答