이 질문은 많은 시간을 요구했지만 내 질문은 조금씩 나아 간다.레일스 다형성 사용자 모델
내 응용 프로그램을 모델링 할 때 사용자 모델에 다형성 연관이있는 두 가지 유형의 사용자가 있습니다. 예를 들면 : User_Type_1
4 개 필드와 User_Type_2
같은 20 개 필드 같은 것을 가지고 있고 나는 사용자 테이블이 많은 필드를 갖고 싶어하지 않았기 때문에
class User < ActiveRecord::Base
belongs_to :profileable, :polymorphic => true
end
class User_Type_1 < ActiveRecord::Base
has_one :user, :as => :profileable
end
class User_Type_2 < ActiveRecord::Base
has_one :user, :as => :profileable
end
내가 이런 짓을하는 이유, 대신 STI의입니다 (예 24-ish 필드는 많이는 아니지만 대부분 20 ~ 20 개의 필드가 비어 있지는 않습니다.)
이 기능의 작동 방식을 이해합니다. 제 질문은 User_Type_1
유형의 사용자는 가입 할 수 있지만 둘 다 사용할 로그인 양식은 가입하십시오. 어떻게 든에서 기호 사이트의 오른쪽 부분에 리디렉션 내가 AppicationController
에 after_sign_in_path_for(resource)
재정을 사용할 수 있습니다 알고
을 (내가 User_Type_2
의 사용자를 생성 할 응용 프로그램의 관리 측면이있을 것이다)처럼 뭔가 :.
def after_sign_in_path_for(resource)
case current_user.profileable_type
when "user_type_1"
return user_type_1_index_path
when "user_type_2"
return user_type_1_index_path
end
end
제 궁금한 점은 Devise를 사용하여 양식을 만들고 User_Type_1
유형의 가입 만 허용 한 다음 sign_up 이후에 서명하는 방법입니다.
또한 잘못된 길로 가고 있다면 올바른 길은 무엇입니까?