레일즈 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 오래된 레일을 공급 업체 디렉토리에이 플러그인을 제거하여 다시 작동되었다.
질문하는 것이 좋을 수도 있지만 서버를 다시 시작 했습니까? – MrYoshiji
예 서버를 다시 시작하고 동일한 결과를 얻었습니다. – Dubbs
흠 /sessions(.:format)가 GET 요청에 응답하는 것처럼 보이고 POST 메서드를 요청합니다. 시도해 봤니? – MrYoshiji