2011-11-15 1 views
1

아래와 같이 동적 값으로 timeout_in을 만들어야합니다.하지만 여기서는 self가 User 모델의 인스턴스가 아닙니다. 어떤 사람이 그 조건을 어떻게 사용할 수 있는지 생각할 수 있습니까?devise session time_out

고안 : database_authenticatable : rememberable :, 회수 : , 등록 가능 메이션 :위한 확 :, token_authenticatable : , validatable 잠금 : timeoutable : omniauthable : timeout_in => (self.email.nil __ 111. minutes : 112. minutes)

답변

0

당신이 수업 범위에 있기 때문에 이렇게 할 수 있는지 모르겠습니다.

원하는대로하려면이 논리를 구현하는 timeout_in 메서드라는 메서드를 정의하십시오. 왜냐하면 그것은 this method입니다. Devise는 인스턴스 메소드에서 timeout_in을로드하려고 시도하고 나면 클래스 메소드에서이 메소드를 가져 오려고 시도합니다.

EDIT : 제거 된 원숭이 패치 솔루션이 더 나은 것을 제거했습니다.

EDIT2 : 답변 향상.

+0

그래서 내 목표를 달성하기 위해 어떤 방법이 아니다 (사용자 유형에 따라 설정 timeout_in 값.)? – Neelesh

+0

예, 방법이 있습니다. 내 답변에이 부분이 명확하지 않을 수 있으므로 답변을 개선했습니다. –

+0

"이 후 클래스 메서드에서 가져 오려고 시도합니다." 용서해주십시오. 요청하시는 내용을 코드 줄에 넣어 주시겠습니까? 다른 방법으로 기기 timeout_in을 사용하지 않고 완료했을 때 : http://snippets.dzone.com/posts/show/7400 – Neelesh

2

이 기능은 개발자 마스터이며 곧 새로운 개발자 버전으로 릴리스되어야합니다. Gemfile에서 Devise Devit 저장소를 가리키고 바로 지금 gemfile을 사용할 수 있습니다.

https://github.com/plataformatec/devise/wiki/How-To:-Add-timeout_in-value-dynamically https://github.com/plataformatec/devise/pull/1462

+0

Nice..I 시도해 봅니다. – Neelesh

+1

Devise 버전을 출시했습니다. 1.5.2 (이 기능 포함) 작동 여부 확인 –

+0

고마워요 @ 로드리고. 확인해 보겠습니다. – Neelesh