ruby-on-rails – 如何在公共活动中设置收件人ID

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在公共活动中设置收件人ID前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在浏览Public Activity Gem Railscast Vid. ( http://railscasts.com/episodes/406-public-activity)

我当前的数据库查找/存储除recipient_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">

我希望recipient_id成为正在执行操作的用户….

防爆.

如果我喜欢Tom’s Post …..我希望Tom的身份证成为recip_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

我是否需要创建方法或其他东西.请帮助…..新的铁路

解决方法

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

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

猜你在找的Ruby相关文章