2013-06-16 3 views
6

나는 Public Activity Gem Railscast Vid로갑니다. (http://railscasts.com/episodes/406-public-activity)공용 활동에서받는 사람 ID를 설정하는 방법

나의 현재 DB가 /이 recipient_id하지만 모든 것을 저장 보인다 .... 그것은 내가 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"> 

전무로 표시됩니다. ...

Ex.

내가 좋아하는 경우 Tom 's Post ..... 나는 톰의 ID가 recipient_id가되도록하고 싶습니다. & 나는 owner_id가 될 것입니다.

내 Likes 컨트롤러의 코드를 사용하여 ....받는 사람 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 

내가하는 방법 또는 무언가를 창조해야합니까 CONTROLLER를 좋아한다.

+0

특정 Rails 버전에 대한 질문을 거의 찾지 않는 일반 Ruby on Rails 태그를 사용하십시오. – Borodin

답변

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

톰 가정 레일 새로운 ..... 도와주세요 추적 된 개체의 사용자입니다. 그렇지 않으면 응용 프로그램에 따라 model.user을 변경하십시오.

+0

감사 :) .... def는 올바른 방향으로 나를 가리켰다. –

관련 문제