2015-01-14 4 views
0

레일 엔진이 있습니다 (인증에는 문제가되지 않지만). 전통적으로, /spec 디렉토리에 모호한 앱이 있습니다. 엔진은 애플리케이션에서 몇 가지 경로를 정의하고 더미 애플리케이션은 자체 애플리케이션 중 몇 가지를 정의합니다.Pow가 엔진 생성 경로를 인식하지 못합니다.

rails s을 사용하여 WEBrick에서 더미 응용 프로그램을 실행할 때 제대로 작동합니다. 그러나 (~/.powmy_engine/spec/dummy에 심볼릭 링크)이 탕을 사용하여 실행하려고 할 때, 엔진이 제공하는 경로를 인식하지 않는 것, 내가 얻을 :

이 잘못 무엇
ActionController::UrlGenerationError at /login 
No route matches {:action=>"new", :controller=>"my_engine/sessions"} 

, 왜 않습니다 그것은 Pow에서만 일어납니다. 여기

할 경우에이 문제, 경로 파일입니다

my_engine/설정/routes.rb :

Rails.application.routes.draw do 

    get 'login', :controller => 'my_engine/sessions', :action => :new 
    post 'login', :controller => 'my_engine/sessions', :action => :create 
    get 'logout', :controller => 'my_engine/sessions', :action => :destroy 

end 

my_engine/스펙/더미/설정/routes.rb :

Rails.application.routes.draw do 

    mount MyEngine::Engine => "/auth" 

    root 'home#index' 

    controller :home do 
    get :index 
    get :private, :as => 'private' 
    end 

end 

편집 : 정상적인 엔진에서 엔진을 사용할 때 작동하지 않는다고 판단했습니다. 잘, 그래서 그것은 단지 더미 애플 리케이션이 아니야.

답변

0

그래서 완전히 관련이없는 것으로 판명되었습니다. 링크 된 엔진 제공 페이지에는 link_to 헬퍼가 포함되어 있는데 두 번째 인수 (경로)는 ENV['RAILS_ENV']에 종속되어 있습니다. Pow에서이 값은 0이었습니다 (WEBrick에서는 저자가 예상 한대로 'development'로 설정 됨). 따라서 link_to('text', nil)을 렌더링하려고했습니다. 위의 오류가 어떻게 든 발생했습니다.

관련 문제