2013-06-16 9 views
6

Ich gehe über Public Activity Gem Railscast Vid. (http://railscasts.com/episodes/406-public-activity)So richten Sie die Empfänger-ID in der öffentlichen Aktivität ein

Meine aktuelle DB sieht/alles, aber die recipient_id speichert .... es zeigt mich als 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"> 

Ich würde die recipient_id wie der Benutzer, der die Aktion durchgeführt wird, auf. ...

Ex.

Wenn ich mag Tom's Post ..... Ich möchte Toms ID werden die recipient_id & Ich werde die owner_id sein.

ich zur Zeit einen Empfänger-ID .... mit dem Code in meinen Likes-Controller eingestellt habe .... aber es gibt nur den Empfänger Id den aktuellen Benutzer .... das ist nicht, was ich will :(ist

LIKES 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 

muss ich eine Methode oder etwas schaffen. Bitte helfen Sie ..... neue

+0

Verwenden Sie das generische Ruby on Rails-Tag, da nur sehr wenige Leute nach einer bestimmten Rails-Version fragen. – Borodin

Antwort

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

unter der Annahme, Tom zu den Schienen ist der Benutzer des verfolgten Objekts. Ansonsten ändern Sie model.user gemäß Ihrer Anwendung

+0

danke:) .... def zeigte mir in die richtige richtung –