亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

沒有路由匹配“/ users / sign_out”設計rails 3

沒有路由匹配“/ users / sign_out”設計rails 3

紅顏莎娜 2019-08-29 17:42:46
沒有路由匹配“/ users / sign_out”設計rails 3我在我的應用程序上安裝了devise并在我的application.html.erb文件中應用了以下內容:<div id="user_nav">     <% if user_signed_in? %>         Signed in as <%= current_user.email %>. This cannot be cheese?         <%= link_to 'Sign out', destroy_user_session_path %>     <% else %>         <%= link_to 'Register', new_user_registration_path %> or <%= link_to 'Sign in', new_user_session_path %>     <% end %></div>我跑了rake routes并確認所有路線都有效。另外,在我的routes.rb文件中我有devise_for :users和root :to => "home#index"。單擊“注銷”鏈接時出現以下路由錯誤:No route matches "/users/sign_out"是什么導致錯誤?
查看完整描述

3 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

我認為退出的路線是一種DELETE方法。這意味著您的退出鏈接需要如下所示:

<%= link_to "Sign out", destroy_user_session_path, :method => :delete %>

你的不包括這:method => :delete部分。此外,請注意,要使其工作,您還必須包含<%= javascript_include_tag :defaults %>在您的布局文件(application.html.erb)中。


查看完整回答
反對 回復 2019-08-29
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

我在devise.rb中更改了這一行:

config.sign_out_via = :delete

config.sign_out_via = :get

它開始為我工作。


查看完整回答
反對 回復 2019-08-29
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

您可能沒有包含jquery_ujs javascript文件。確保您使用的是最新版本的jquery-ujs:https//github.com/rails/jquery-ujs以及可用的最新文件:

rails generate jquery:install

你應該不會有任何更多的rails.js文件。如果你這樣做,你可能已經過時了。確保此文件在config / application.rb中加載了默認值

config.action_view.javascript_expansions[:defaults] = %w(jquery.min jquery_ujs)

(同樣,你應該不會有rails.js這里提交)。最后,添加Devise wiki(haml-style)中記錄的鏈接:

= link_to('Logout', destroy_user_session_path, :method => 'delete')

一切都會好起來的。


查看完整回答
反對 回復 2019-08-29
  • 3 回答
  • 0 關注
  • 618 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號