2016-11-04 6 views
0

나는 clearance을 앱에 사용합니다. 보기에서 링크를레일 및 clearence. 경로 일치 없음

Failure/Error: visit sign_out_path 

ActionController::RoutingError: 
    No route matches [GET] "/sign_out" 

로그인 아웃 : : 사용자가 로그 아웃 라우팅 오류를 시도

= link_to t(".sign_out"), sign_out_path, method: :delete 

을 roures.rb 구성에서

get "/sign_in",  to: "clearance/sessions#new", as: "sign_in" 
get "/session",  to: "clearance/sessions#new", as: "session" 
delete "/sign_out", to: "clearance/sessions#destroy", as: "sign_out" 
get "/sign_up",  to: "clearance/users#new", as: "sign_up" 

resources :passwords, controller: "clearance/passwords", only: [:create, :new] 
resources :session, controller: "clearance/sessions", only: [:create] 

resources :users, controller: "users", only: [:create] do 
    resources :password, 
    controller: "clearance/passwords", 
    only: [:create, :edit, :update] 
end 

root to: "welcome#welcome_page" 

resources :welcome, only: [:welcome_page], path:'' 
resources :pages, only: [:show] 
resources :users 

mount RailsAdmin::Engine => '/admin', as: 'rails_admin' 

레일 5 + 루비 2.2.2

+0

당신은 단지 삭제를위한 길을 가지고 있고 get을 사용하려고합니까? –

+0

수정 오류를 시도하고 "get/sign_out"을 다음과 같이 "clearance/sessions # destroy"에 추가합니다. 경로 : "sign_out". 하지만 틀렸어. 질문을 할 때 문자열을 삭제하는 것을 잊어 버렸다. – alexin

답변

1

이 문제를 해결하려면 2 가지 옵션이 있습니다.

= button_to t(".sign_out"), sign_out_path, method: :delete 

이가에서 요약 :

어느 쪽이든 당신은 당신이 JQuery와 사용 버튼에 링크를 변경하지 않는 경우 application.js

//= require jquery 
//= require jquery_ujs 

또는에서 jquery_ujs이 있는지 확인 다음과 같은 질문 : Rails Link To Method Getting When It Should Delete

+0

도움을 청합니다. 나는 실수를 발견했다. 실수는 내 애플리케이션 레이아웃에서 javascript_include_tag 경로에있었습니다. – alexin

관련 문제