2012-06-06 2 views
0

나는 Thing의 ID가 내 세션 변수에 있는지 확인해야합니다.레일즈 모델에서 세션 데이터에 액세스하기

내 본능은 Thing의 ID가 세션 변수에 저장된 배열에 있는지 여부를 확인하는 Thing 모델에 메서드를 추가하는 것입니다.

class Thing < ActiveRecord::Base 
    ... 

    def pinned? 
    session[:pinned].include? self.id 
    end 

end 

내가 만들려고하고 기능은 사용자가 다음 인쇄 나중에 사용자 별 세션에 저장하고 검색되는 목록은 여러 가지의 무리를 선택합니다.

레일스는 모델에서 세션 액세스를 방지하는 것처럼 보이지만, 나는 그것을 피하려고합니다. 어쩌면 내가 문제를 둥근 틀린 방향으로 접근하고 있을까? 함수는 다른 곳에 속해 있습니까?

감사합니다.

답변

3

아마도 메서드에 직접 액세스하는 대신 인수로 전달할 수 있습니까?

def pinned?(things) 
    things.include? self.id 
end 

thing.pinned?(session[:pinned]) 
관련 문제