无法在ruby上使用sign_out在rails devise gem上

时间:2013-07-03 05:49:48

标签: ruby-on-rails ruby-on-rails-3 devise

在我的小型应用程序应用程序中,我有一个名为say的控制器和两页hello,再见。我在应用程序中安装了devise。最初,我能够以/ users / sign_in访问sing_in页面,同样可以注册。我无法退出,由于无法退出,我无法再次访问注册或登录页面。现在我输入以下代码int eh say / hello page

<h1>Say#hello</h1>
<% if user_signed_in? %>
Hey signed in as <%= current_user.email %>.Not you? 
<%= link_to "Logout", destroy_user_session_path %>
<% else %>
Hey <%= link_to "Login", new_user_session_path %> or Hey <%= link_to "Logup", new_user_registration_path %>
<% end %>
</p>

这是应用的路线页面。

Demo::Application.routes.draw do
devise_for :users
get "say/hello"
get "say/goodbye"
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".

# You can have the root of your site routed with "root"
root :to => "say#hello"
end

每当我访问say / hello页面时,这就是我得到的输出

  Links

Hey signed in as x@gmail.com.Not you? Logout 

点击退出时。它说

No route matches [GET] "/users/sign_out"

当我直接访问users / sign_in时,我会被路由到say / hello页面。

我在做什么事?我该如何签名?

我也试过

destroy_user_session_path, :method => :delete

1 个答案:

答案 0 :(得分:1)

希望这可以提供帮助

在routes.rb

中尝试此操作

devise_for:用户确实获得'/ users / sign_out'=&gt; 'devise / sessions#destroy'end