3

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

   <% if @posts.any? %> 

我想在用户第一次登录时显示一个对话框,然后它就再也不会出现了。我知道 Deivse 有一个 sign_in_count 选项,但对话框会一直留在那里,直到用户注销并重新登录。

4

2 回答 2

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
于 2013-02-21T02:06:59.260 回答
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] %> 
于 2013-02-21T05:42:23.910 回答