我无法在heroku应用程序上使用我的注销按钮。
Js代码
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require popper
//= require_tree .
这是我的Routes.rb
Rails.application.routes.draw do
devise_for :users
as :user do
get "signin" => 'devise/sessions#new'
delete "sign_out" => 'devise/sessions#destroy'
get 'signup' => 'devise/registrations#new'
end
root'home#index'
get 'about' => 'home#about'
get'pricing' => 'home#pricing'
get 'contact' => 'home#contact'
get 'about' => 'home#about'
这是我的Application.html.erb
<ul class="navbar-nav">
<li class="nav-item"><%= link_to "Home", root_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "About", about_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "Pricing",pricing_path, class: "nav-link" %></li>
<li class="nav-item"><%= link_to "Contact",contact_path, class: "nav-link" %></li>
<li class="nav-item pull-md-right"><%= link_to "Sign In",signin_path, class: "nav-link" %></li>
<li class="nav-item pull-md-right"><%= link_to "Log out", signout_path, :method =>:delete, class: "nav-link" %></li>
<li class="nav-item pull-md-right"><%= link_to "Sign Up",signup_path, class: "nav-link" %></li>
</ul>
</div>
</nav>
那么我做错了什么?任何帮助都是最好的。
发布于 2018-09-17 02:11:26
我相信你的链接是错误的,特别是路径,destroy_user_session_path
应该可以工作。
<%= link_to "Log out", destroy_user_session_path, :method =>:delete, class: "nav-link" %>
发布于 2018-09-19 16:15:41
如果你想调用signout_path
,你必须添加as: :signout
,如下所示;
delete "sign_out" => 'devise/sessions#destroy', as: :signout
https://stackoverflow.com/questions/52357021
复制相似问题