2012-07-08 4 views
0

개인 및 그룹의 두 가지 모델이 있습니다. 나는 등록/확인 (전자 메일이 보내 졌음을 알리는 페이지로 사용자를 보내거나 확인 후 편집 페이지로 보내기 등)에 대해 유사한 동작을 공유하려고합니다.두 개의 장치 모델에 대한 RegistrationController 공유

내 문제는 개인을 위해서만 작동합니다. 그룹스에서는 아직 작동하지 않습니다.

설정/outes.rb :

devise_for :individuals, :controllers => {:confirmations => "Confirmation", :registrations => "Registrations"} 

devise_for :groups, :controllers => {:confirmations => "Confirmation", :registrations => "Registrations"} 

응용 프로그램/컨트롤러/registrations_controller.rb :

class RegistrationsController < Devise::RegistrationsController 
    def after_inactive_sign_up_path_for(item) 
    "/post_sign_up?email=#{item.email}" 
    end 
end 

응용 프로그램/컨트롤러/confirmation_controller.rb :

class ConfirmationController < Devise::ConfirmationsController 
    def after_confirmation_path_for(name, resource) 
    case resource.class 
     when Individual then edit_individual_path resource 
     when Group then edit_group_path resource 
     else super name, resource 
    end 
    end 
end 

위의 코드 개인을 위해서만 작동합니다. 왜 그래도 이해할 수 없다.

답변

0

routes.rb의 제공된 줄에 너무 집중되어 있으므로 파일의 맨 위에 다른 "devise_for : groups"가 없습니다. 분명히이 경우 이전 값을 무시하게됩니다. 멍청한 실수.

0

스케일 용 & 오류가 없습니다.

admin_registration_controller.rb :

class AdminRegistrationsController < Devise::RegistrationsController 
end 

user_registration_controller.rb :

class UserRegistrationsController < Devise::RegistrationsController 
end 

경로 :

devise_for :admins, controllers: { registrations: 'admin_registrations' } 
devise_for :users, controllers: { registrations: 'user_registrations' } 
관련 문제