我正在向用户显示一个对话框,如果他们没有关注我应用中的任何人,但我只想在用户第一次登录时显示这个内容?每当新用户首次登录时,他们都不会关注任何人,因此他们的Feed没有任何帖子,因此会显示该对话框。我正在使用以下代码实现这一目标:
<% if @posts.any? %>
我想在用户首次登录时显示一个对话框,然后它再也不会出现了。我知道Deivse有一个sign_in_count选项,但是对话框会一直存在,直到用户退出并重新登录。
答案 0 :(得分:2)
如果您将:trackable
模块添加到您的设计设置中,您将获得last_sign_in_at
和sign_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] %>