2012-08-13 101 views
1

有没有办法找出有多少用户使用设计主动登录到Rails应用程序?有没有办法返回当前登录的设计用户数量?

的Rails 3.1

宝石 '设计', '〜> 1.4' 宝石 'DM-色器件', '〜“1.5'

有:数据库可验证

我找红宝石代码具体。

+4

可能的重复http://stackoverflow.com/questions/5504130/whos-online-using-devise-in-rails – 2012-08-13 15:20:27

回答

3

由于所有与登录相关的信息均在会话中处理,因此没有简单的方法。我建议在ApplicationController中进行一些操作来管理这些信息。

我们在许多应用程序中使用before_filter来跟踪每个页面请求的非常具体的信息。你可以做一些类似的事情来追踪他们碰到什么页面,何时触及它们以及他们是谁。

然后确定登录的用户就像确定他们最后一次加载页面所需的最后一页加载时间一样简单,然后根据该页面选择您的查看表。就像

MyPageView.select([“DISTINCT user WHERE created_at>?,my_threshold_time])会给你不同的用户。

+1

“可能重复stackoverflow.com/questions/5504130/ ... - ismaelga”提供了一个更好的解释一样的东西 – shadowbq 2012-08-13 17:15:53

0

我写了一个关于这个的blog post。我们必须在工作中这样做,而且这种解决方案似乎符合我们的需求。

您应该将last_request_at和logged_in添加到您的用户模型中。可以从请求的user_session信息中获取last_request_at。应在sign_in/sign_out上设置Logged_in。

相关问题