2013-02-21 42 views
3

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

<% if @posts.any? %> 

我想展示在用户首次登录对话框,然后就再也没有出现。我知道Deivse有sign_in_count选项,但直到用户注销并重新登录对话框会呆在那里。

+0

你没有真正告诉我们足够的工作。 – 2013-02-21 00:35:28

+0

对不起,我将编辑该问题。 – 2013-02-21 00:39:08

回答

2

如果您的:trackable模块添加到您的设计安装,你会得到一个last_sign_in_atsign_in_count。这两种方法都应该为您提供足够多的信息,以了解用户以前是否登录过。何时可能应该消失。

例如:

display_dialog unless current_user.last_sign_in_at.present? 

display_dialog unless current_user.sign_in_count > 0 
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] %>