2016-11-27 3 views
2

사용자가 로그인 할 때 무슨 일이 일어나는지 바꾸고 싶습니다. 소스 코드를 볼 때 자원은 어디 에나 있습니다. 그러나 그것이 무엇인지를 이해할 수는 없습니다. 그것을 고안하고 소장하는 일에만 관련이 있습니까?Devise에서 리소스는 무엇을 의미합니까?

def after_sign_in_path_for(resource) 
    stored_location_for(resource) || 
    if resource.is_a?(User) && resource.can_publish? 
     publisher_url 
    else 
     super 
    end 
end 
+0

[Devits를 자원과 결합 : Rails의 사용자] 가능한 복제본 (http://stackoverflow.com/questions/5051487/combining-devise-with-resources-users-in-rails) –

답변

5

리소스는 사용자 인스턴스의 추상화 이름입니다. Admin 모델 또는 기타 모델에서 작동하도록 구성 설정에서 구성 할 수 있습니다. 기본적으로

그것은

devise :users # resource is instance of User class 
devise :admins # resource is instance of Admin class 
+0

나는 여전히 혼란 스럽다. 사용자 모델에 devise를 사용하고 있습니다. 그것은 "자원"이 사용자를 대표한다는 것을 의미합니까? – Jeremy

+0

예. 기본적으로 경로에서 선언 된 첫 번째 역할입니다. devise_for : 사용자 –

0

알렉스의 대답은 succintly를 말한다 당신의 경로에 선언 처음 고안 역할을하지만 그것은 위의 코멘트 주어진, 모든 사람에게 명확하지 않을 수 있습니다 유증의

저자 보석을 사용하는 사람들이 다르게 사용자 정의하기를 원할 것입니다. 어떤 사람들은 사용자에게 전화하기를 원할 것입니다 : 사용자, 다른 사람들은 수영 선수, 골프를 치는 사람, 또는 대통령에게 전화하기를 원할 것입니다. '리소스'는 기본적으로 앱 개발자가 향후 활용할 사용자 이름의 대체재입니다. devise는 사용자가 실제로 무엇을 부르는지 상관하지 않습니다. 그것이 무엇인지에 상관없이, 사용자는 단순히 "리소스"로 알려질 것입니다. 그것이 다른 방법이라면, 보석 제작자는 앱 개발자에게 사용자 (관리자 또는 관리자)에게 전화하도록 강요해야합니다. 매우 제한적이어서 개발자는이를 좋아하지 않을 것입니다.

관련 문제