2014-02-13 2 views
0

이상한 상황에 처해 있습니다. 나는 SO 포럼에서 많은 해답을 보았지만 아무 것도 내 문제를 해결하지 못했습니다. 레일 응용 프로그램에서 루비를 개발 중입니다. 성공적으로 가입하고 로그인했습니다. 하지만 내 로그 아웃은 작동하지 않습니다. 다음은 응용 프로그램경로가 일치하지 않습니다.

<div class="header"> 
    <%= image_tag "header.png", :class => "headerimg" %> 
    <% unless current_user.blank? %> 
    <div id="menu_container" > 
     <ul class="sf-menu" id="nav" > 
      <li style="margin-left:10%"> 
       <%= link_to current_user.First_Name, {} %>  
      </li> 
      <li> 
       <%= link_to "notif", {} %> 
      </li> 
      <li id="logout" style="margin-left:55%;"> 
       <%= link_to "Log out", signout_path, method: "delete" %> 
      </li> 
     </ul> 
    </div> 
    <% end %> 
</div> 

세션에 대한 내 컨트롤러가 기호 밖으로 내 세션 도우미 내 레이크 노선의

def sign_out   
    cookies.delete(:remember_token) 
    self.current_user = nil 
end 

결과입니다

def destroy 
    sign_out 
    redirect_to root_url 
end 

입니다 헤더에서 기호에 대한 내 생각이다 :

Helper  HTTP Verb  Path  Controller#Action 
Path/Url   
users_path  GET  /users(.:format) users#index 
       POST /users(.:format) users#create 
new_user_path GET  /users/new(.:format) users#new 
edit_user_path GET  /users/:id/edit(.:format) users#edit 
user_path  GET  /users/:id(.:format) users#show 
       PATCH /users/:id(.:format) users#update 
       PUT  /users/:id(.:format) users#update 
       DELETE /users/:id(.:format) users#destroy 
sessions_path POST /sessions(.:format)  sessions#create 
new_session_path GET  /sessions/new(.:format)  sessions#new 
session_path DELETE /sessions/:id(.:format)  sessions#destroy 
root_path GET / static_pages#home 
signup_path  GET  /signup(.:format) users#new 
signin_path  GET  /signin(.:format) sessions#new 
signout_path DELETE /signout(.:format) sessions#destroy 
default_path GET  /default(.:format) static_pages#default 

나는 무엇이 잘못되었는지 알아낼 수 없다. 나는 마이클 하트를 따라 간다. Plz에서 나와 올바른 방향을 가리 킵니다.

감사

EDIT 여기link_to가 제대로 작성 귀하의 오류의 전체 추적

actionpack (4.0.2) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' 
actionpack (4.0.2) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' 
railties (4.0.2) lib/rails/rack/logger.rb:38:in `call_app' 
railties (4.0.2) lib/rails/rack/logger.rb:20:in `block in call' 
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `block in tagged' 
activesupport (4.0.2) lib/active_support/tagged_logging.rb:25:in `tagged' 
activesupport (4.0.2) lib/active_support/tagged_logging.rb:67:in `tagged' 
railties (4.0.2) lib/rails/rack/logger.rb:20:in `call' 
actionpack (4.0.2) lib/action_dispatch/middleware/request_id.rb:21:in `call' 
rack (1.5.2) lib/rack/methodoverride.rb:21:in `call' 
rack (1.5.2) lib/rack/runtime.rb:17:in `call' 
activesupport (4.0.2) lib/active_support/cache/strategy/local_cache.rb:83:in `call' 
rack (1.5.2) lib/rack/lock.rb:17:in `call' 
actionpack (4.0.2) lib/action_dispatch/middleware/static.rb:64:in `call' 
rack (1.5.2) lib/rack/sendfile.rb:112:in `call' 
railties (4.0.2) lib/rails/engine.rb:511:in `call' 
railties (4.0.2) lib/rails/application.rb:97:in `call' 
rack (1.5.2) lib/rack/lock.rb:17:in `call' 
rack (1.5.2) lib/rack/content_length.rb:14:in `call' 
rack (1.5.2) lib/rack/handler/webrick.rb:60:in `service' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run' 
C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread' 
+0

오류 역 추적을 잊어 버렸습니다. 편집 JavaScript가 제대로 작동하는지 확인하십시오. –

+0

application.js에'// = require jquery_ujs'를 포함 시켰는지 확인하십시오. –

+0

@IshankGupta application.js 파일에서 강조한 위의 행을 추가했습니다. –

답변

2

내가 여기

No route matches [GET] "/signout" 

무엇입니까 오류입니다, 아직 GET 요청을 볼 수 있습니다. 메소드 DELETE이 javascript를 사용하여 적용 되었기 때문에 application.js을 포함하지 않았거나 자바 스크립트에 오류가있어 올바르게 구문 분석되지 않습니다.

그래서 응용 프로그램 레이아웃 (views/layouts/application.html.erb)

<%= javascript_include_tag "application" %> 

에 가지고 있는지 확인 또는 자바 스크립트 콘솔 귀하의 브라우저에서 오류를 확인하십시오.

관련 문제