2013-06-16 10 views
6

Wybieram aktywność publiczną Gem Railscast Vid. (http://railscasts.com/episodes/406-public-activity)Jak ustawić identyfikator odbiorcy w publicznej aktywności

Mój obecny wygląda DB/przechowuje wszystko oprócz recipient_id .... to pokazuje się jako zero

#<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"> 

Chciałbym, recipient_id się użytkownik, który czynność jest wykonywana na. ...

Przykł.

Jeśli podoba mi się Tom's Post ..... Chciałbym, aby Tom ID został odbiorcą & Będę właścicielem_id.

Mam aktualnie ustawiony identyfikator odbiorcy .... używając kodu w moim kontrolera Likes .... ale ustawia on tylko identyfikator odbiorcy dla bieżącego użytkownika .... co nie jest tym czego chcę :(

LUBI kontroler

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 

muszę stworzyć metodę, czy coś. Proszę o pomoc ..... nowe do szyn

+0

Użyj ogólnego znacznika Ruby on Rails, ponieważ bardzo niewiele osób szuka pytania na temat konkretnej wersji Rails. – Borodin

Odpowiedz

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

zakładając Toma jest użytkownikiem śledzonego obiektu. W przeciwnym razie zmień model.user zgodnie ze swoim zgłoszeniem

+0

dzięki:) .... def skierował mnie we właściwym kierunku –

Powiązane problemy