"역할"형식을 사용하여 부모 응용 프로그램의 사용자 모델과 관계를 설정하는 레일 엔진을 작성하고 있습니다. 개발자가 :auth_with
옵션을 사용하여 도우미 메서드 이름을 지정할 수 있도록하기위한레일즈 3.1 엔진에서 부모 앱의 도우미 메서드를 호출하는 방법
module Cornerstone
module ActsAsCornerstoneUser
extend ActiveSupport::Concern
module ClassMethods
def acts_as_cornerstone_user(options = {})
#= Associations
has_many :cornerstone_discussions
#= Options
Cornerstone::Config.auth_with << options[:auth_with] if options[:auth_with]
Cornerstone::Config.auth_with.flatten!
end
end
module InstanceMethods
end
end
ActiveRecord::Base.send :include, ActsAsCornerstoneUser
end
내가 좋아하는 것입니다. 아이디어는 개발자가 부모 응용 프로그램에서 해당 세션에 대해 로그인 한 사용자를 반환하는 도우미 메서드를 지정한다는 것입니다.
내 질문은 개발자가 auth_with
옵션을 지정한 후에는 어떻게 부모 응용 프로그램의 메서드를 호출 할 수 있습니까 ??
상위 응용 프로그램의 로그인 된 사용자를 얻는 더 좋은 방법이 있습니까? 단순히 current_user
을 호출하는 것에 의존하지 않도록 가능한 한 유연하게하고 싶습니다. 이 같은
하나 이상의 초석 사용자가 필요합니까? (즉, 하나의 인증 방법 또는 클래스 당 하나) –
또한 인증은 컨트롤러의 작업이어야합니다. 인증 된 사용자는 어디에서 필요합니까? –
인증 된 사용자는 엔진 자체 컨트롤러 내에서 필요하지만 상위 응용 프로그램에서 인증이 발생합니다. – astjohn