2013-10-07 4 views
0

레일 2.3.8을 사용하고 있습니다. 초기화 프로그램에서 컨트롤러 액션을 호출해야합니다. 난 내가 레일 2.3.8이를 사용하는 경우 레일 2.3.8이 "조치를"이없는 것 같습니다이 오류Rails 2.3.x : Initializer에서 컨트롤러의 동작을 호출 할 수 있습니까?

undefined method `action' for UserSessionsController:Class. 

을 반환

OmniAuth.config.on_failure = Proc.new do |env| 
    UserSessionsController.action(:omniauth_failure).call(env) 
    end 

3 날기의 발동 레일이 조각을 발견 방법. Rails 2.3.x에서 이니셜 라이저에서 액션을 호출하는 다른 방법이 있습니까?

답변

1

왜 이렇게하고 싶은지 확실하지 않지만 컨트롤러는 클래스입니다. 따라서

TestController.new.index 

과 같은 것이므로 index 메서드를 호출합니다.

컨트롤러는 일반적으로 요청시 제공되는 모든 정보를 사용하지 않고 초기화되므로 마음에 들지 않으므로 일이 깨지기 쉽습니다.

관련 문제