2011-10-06 5 views
4

나는 나의 홈 컨트롤러에 대한 내 루트 경로왜 내 레일 경로가 조금 벗어 났습니까?

root :to => 'home#index' 

을 가지고 내가 http://localhost:3000/를 방문하는 경우 모두 내가 적절한 홈 컨트롤러 및 색인 작업을 명중 잘 작동합니다. 나는 다음이 보석 rails_admin를 설치하지만 http://localhost:3000/admin를 방문 할 때 난 내 응용 프로그램 컨트롤러

rescue_from CanCan::AccessDenied do |exception| 
    redirect_to root_path, :alert => exception.message 
end 

이 오류를 얻을 수있는 방법에 충돌, 어떻게 지금은 라우팅 오류 ... 어떤 생각

을 가지고있다
Routing Error 

No route matches {:controller=>"home"} 

답변

3

나는 그 문제가 자신의 라우팅을 가지고있는 rails_admin 엔진에 HomeController가 없다고 생각한다. 어떻게 든 그곳에 멈춘다. (엔진에 그런 컨트롤러가 없기 때문이다.)

redirect_to root_url 

또는이 마지막 방법에 대한 URL을 호출하여 경로를 파악하려고 할 필요가 없습니다 레일을 의미에서도이

redirect_to '/' 

을하고, 작업 할 때 안전 할 수 있습니다 내가 사용하려고 할 것 엔진. 당신이 당신의 엔진이나 config/initializers/rails_admin.rb 내부 앱의 경로를 참조하는 경우

+1

이것은 트릭을 redirect_to/'... 고마워했다. – Trace

-1

홈 컨트롤러가 정의되지 않은 것 같습니다. 당신의 "루트"정의 이상이 추가

시도 : 나는 또한 레일 사이트에 official Routes guide을 읽는 게 좋을 것

resources :home, :only => :index 

.

+0

으로 접두사를해야하지만 난 ActionController :: RoutingError (없음 경로 일치 {있어요 : controller => "home"}) : app/controllers/application_controller.rb : 5 : Block in ' – Trace

+0

여기에 내 routes.rb 리소스가 있습니다 : home, : only :> : 인덱스 루트 : to => 'home # index' – Trace

+0

app 폴더에서'rake routes'를 수행하십시오. root_path 경로가 home # index와 일치합니까? –

4

, 당신은 내가 루트의 상단에 추가 main_app.

redirect_to main_app.root_path, :alert => exception.message

관련 문제