用户首次登录时显示对话框

时间:2013-02-21 00:13:21

标签: ruby-on-rails ruby devise

我正在向用户显示一个对话框,如果他们没有关注我应用中的任何人,但我只想在用户第一次登录时显示这个内容?每当新用户首次登录时,他们都不会关注任何人,因此他们的Feed没有任何帖子,因此会显示该对话框。我正在使用以下代码实现这一目标:

   <% if @posts.any? %> 

我想在用户首次登录时显示一个对话框,然后它再也不会出现了。我知道Deivse有一个sign_in_count选项,但是对话框会一直存在,直到用户退出并重新登录。

2 个答案:

答案 0 :(得分:2)

如果您将:trackable模块添加到您的设计设置中,您将获得last_sign_in_atsign_in_count。这些中的任何一个都应该为您提供足够的信息,以便知道用户以前/何时登录过。posts.any?可能应该消失。

例如:

display_dialog unless current_user.last_sign_in_at.present?

display_dialog unless current_user.sign_in_count > 0

答案 1 :(得分:0)

控制器中的

if @posts.blank? && user.sign_in_count == 1 # no posts and 1st time login
  session[:display_dialog] = true
ens

视野

<%= display_dialog if session[:display_dialog] %> 
相关问题