Railsでログアウト用のリンク作成を試みています。
リンクをクリックするとセッション情報が削除されてリダイレクトするのを意図しています。
以下の設定の場合、method: :delete
が動作するようにするにはどうしたらいいでしょうか?
header_link_item
にmethod: :delete
が動作するように3つめの引数を設定できないかと試したのですがダメでした。。。
routes.rb delete 'logout', to: 'sessions#destroy'
def header_link_item(name, path) ... end
<%= header_link_item('ログアウト', logout_path, method: :delete) %>
def destroy session.delete(:user_id) redirect_to root_path end
header_link_itemの中身はどのようなものでしょうか。
このような内容になってます。
def header_link_item(name, path)
class_name = 'nav-item'
class_name << ' active' if current_page?(path)
content_tag :li, class: class_name do
link_to name, path, class: 'nav-link'
end
end