これは非常に標準的なコードです (Rails 4):
<%= link_to 'Log out', logout_path, :method => :delete %>
ただし、非標準の考慮事項があります。Javascript はありません。Javascript がないと、jquery_ujs はそのフックを取得しないため、リンクはGET /logout
ルートを持たないプレーンな を作成します。
なんで?サイトの Tor 隠しサイト バージョンをサポートしたいので、Tor ユーザー (Tor Browser Bundle を介して来る可能性が最も高い) は JavaScript を無効にしていると想定しなければなりません。(さまざまな潜在的なプライバシー リークを防ぐために、故意に JS を有効にしたくありません。また、誰かが GET でユーザーをログアウトさせたり、UI を見苦しくしたりするような XSRF 攻撃も許可したくありません。ボタン。)
隠しサイトはメイン サイトよりも機能が低くなります (たとえば、tor 経由での支払いは受け付けません) が、ログイン/ログアウトなどのいくつかの基本的なことは正しく機能するはずです。
これをサポートする最善の方法は何ですか?