Rails Devise:session#destroy missing

时间:2013-08-06 09:58:58

标签: ruby-on-rails session devise destroy

我刚为我的Rails应用程序设置了设计。这是“用户”模式。

当我查看创建的路线时,我可以看到:

destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy

但是,当我安装Devise时,没有创建用于销毁会话的脚本。

我在那里有点迷失......我必须创建这个脚本吗?如果是的话,我该把它放在哪里?在意见?但它真的是一种观点吗?

最后但并非最不重要的是,我必须加入什么?

非常感谢你。

2 个答案:

答案 0 :(得分:1)

不,您不必为destroy_user_session编写脚本。这是由设备SessionsController的破坏动作处理的,因为你已经安装了设计宝石,所以它已经可用了。除非您想要更改destroy操作的默认行为,否则您只需要链接到视图上的操作以销毁会话,如下所示:

<%= link_to 'Sign out', destroy_user_session_path, :method => :delete %> 和设计会破坏当前的会议

答案 1 :(得分:0)

Devise是一个引擎,所以你有适当的控制器(Devise::SessionsController)来处理devise gem代码中的这个请求。这意味着这条路线应该开箱即用。

在这里设计github页面(带教程): https://github.com/plataformatec/devise

有关Rails引擎的更多信息: http://guides.rubyonrails.org/engines.html