2012-08-04 3 views
10

레일스 앱을 만들고 있습니다.
사용자가 Devise를 사용하여 다음에 암호 입력을 건너 뛰도록 '기억하십시오'확인란을 구현하고 싶습니다. 구현 방법을 알아낼 수 없습니다.
이것에 대해 조금이라도 궁금한 점이 있으시면 그에 대한 샘플 코드를 보여주십시오.Devise 사용 방법 : 기억 가능?

답변

13

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, 
     :validatable, :token_authenticatable, :lockable, :omniauthable 

    # ... 

end 

사용자

class AddRememberCreatedAtToUsers < ActiveRecord::Migration 
    def change 
    add_column :users, :remember_created_at, :datetime 
    end 
end 

당신이 고안 기본 뷰를 사용하지 않는 경우의 테이블에 remember_created_at 열을 추가하는 마이그레이션을 생성하여 사용자 모델의 :rememberable 옵션 추가 보기에 확인란을 추가하십시오.

<%= f.check_box :remember_me %> <%= f.label :remember_me %> 

필요가 있습니다.

+0

나를 위해 작동하지 않았다! 다른 접근법? – Prem

+0

이 코드는 작동하지 않습니다. – indb

+0

나에게도 효과가 없다 : O – ImranNaqvi

4

자신 만의 인증 전략을 작성하면 기억에 남을만한 문제가 발생할 수 있습니다. 인증 된 리소스 객체 (예 : User)! 메서드는 양식 데이터에서 resource.remember_me을 설정해야합니다. 이것은 일반적으로 부모 Authenticable의 validate 메소드에 의해 처리됩니다. 이 방법을 사용하지 않으면 직접 설정해야합니다.