2016-11-04 6 views
0

私はclearanceをアプリで使用しています。ビューにリンクをレールとクリアランス。経路が一致しません

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' 

Railsの5 + Rubyの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

関連する問題