2013-06-16 2 views
6

Я иду Общественная деятельность Gem Railscast Vid. (http://railscasts.com/episodes/406-public-activity)Как настроить идентификатор получателя в публичной активности

Мой текущий DB выглядит/хранит все, кроме recipient_id .... он показывает, как ноль

#<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 быть пользователь, действие выполняется на. ...

Ex.

Если мне нравится Tom's Post ..... Я бы хотел, чтобы ID Тома стал получателем_id & Я стану владельцем_ид.

У меня в настоящее время установлен идентификатор получателя .... с использованием кода в моем Likes Controller .... но он только устанавливает идентификатор получателя текущему пользователю .... что не то, что я хочу :(

ЛЮБИТ CONTROLLER

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 

Мне нужно создать метод, или что-то делать. Пожалуйста, помогите ..... новый рельсам

+0

Пожалуйста, используйте общий тег Ruby on Rails, так как очень мало людей ищут вопрос о конкретной версии Rails. – Borodin

ответ

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

предполагая Том является пользователем отслеживаемого объекта. В противном случае измените model.user согласно вашей заявке

+0

спасибо:) .... def указал мне в правильном направлении –

Смежные вопросы