0

레일즈 3.1과 함께 루비 1.8.7을 사용하고 있습니다. 내 응용 프로그램은 Rails 3.0에서 잘 돌아 갔지만 Rails 3.1.4까지 올리면 내 모든 URL 도우미가 망가졌습니다!레일즈 3.0에서 3.1로 업그레이드 할 때 경로가 작동하지 않습니다.

지난 2 일 미친 사람처럼 인터넷 검색을 한 후, 나는 포기하고 시간을 들여 도움을 구했습니다. 문제가 내 routes.rb 파일과 관련이 있다고 생각하지 않지만보기/도우미 측에서 더 많은 내용이 있습니다.

나는 내 routes.rb에서 다음이 내 홈페이지보기에서

resources :sessions 

I가 다음 LINK_TO, 어떤 오류 아웃 : 나는 레이크 경로를 수행 할 때

<%= link_to "Login", new_session_path %> 

, 내가 얻을 다음과 같은 출력이 있으므로 경로가 존재합니다 :

  sessions GET /sessions(.:format)   {:controller=>"sessions", :action=>"index"} 
        POST /sessions(.:format)   {:controller=>"sessions", :action=>"create"} 
     new_session GET /sessions/new(.:format)  {:controller=>"sessions", :action=>"new"} 
     edit_session GET /sessions/:id/edit(.:format) {:controller=>"sessions", :action=>"edit"} 
      session GET /sessions/:id(.:format)  {:controller=>"sessions", :action=>"show"} 
        PUT /sessions/:id(.:format)  {:controller=>"sessions", :action=>"update"} 
        DELETE /sessions/:id(.:format)  {:controller=>"sessions", :action=>"destroy"} 

브라우저에서/sessions/new로 이동하면 페이지로드 그래서 다시이야, 경로가 존재하지만 _path 기반 URL에 오류 아웃 :

<%= form_tag sessions_path, :method => :post do -%> 

다음과 내가 오류입니다으로는 :

ActionView::Template::Error (undefined local variable or method `sessions_path' for #<#<Class:0x109cb8900>:0x109cab840>): 

그것은 url_for 도우미로 뭔가이어야한다 경로가 존재합니다. 내가 뭘 더 찾아야하니?

는 UPDATE 1 :

은 나는 다음과 같은 내부 application_helper.rb 추가

: 이제 다음과 같은 오류 얻을 때

include Rails.application.routes.url_helpers 

을 :

In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers 

가 아닌가요은 내가 단지 그랬어?

업데이트 2 :이 MrYoshiji로 일 다음

제안 :

Rails.application.routes.url_helpers.sessions_path 

업데이트 3 :

나는 sessions_path 오래된 레일을 공급 업체 디렉토리에이 플러그인을 제거하여 다시 작동되었다.

+0

질문하는 것이 좋을 수도 있지만 서버를 다시 시작 했습니까? – MrYoshiji

+0

예 서버를 다시 시작하고 동일한 결과를 얻었습니다. – Dubbs

+0

흠 /sessions(.:format)가 GET 요청에 응답하는 것처럼 보이고 POST 메서드를 요청합니다. 시도해 봤니? – MrYoshiji

답변

0

일부 Rails 2 플러그인을 벤더/플러그인에서 삭제했습니다.