我目前正在向用户显示一个对话框,如果他们没有在我的应用程序中关注任何人,但我只想在用户第一次登录时显示这个?每当新用户第一次登录时,他们都没有关注任何人,因此他们的提要没有任何帖子,因此会显示对话框。我正在使用以下代码实现这一目标:
<% if @posts.any? %>
我想在用户第一次登录时显示一个对话框,然后它就再也不会出现了。我知道 Deivse 有一个 sign_in_count 选项,但对话框会一直留在那里,直到用户注销并重新登录。
我目前正在向用户显示一个对话框,如果他们没有在我的应用程序中关注任何人,但我只想在用户第一次登录时显示这个?每当新用户第一次登录时,他们都没有关注任何人,因此他们的提要没有任何帖子,因此会显示对话框。我正在使用以下代码实现这一目标:
<% if @posts.any? %>
我想在用户第一次登录时显示一个对话框,然后它就再也不会出现了。我知道 Deivse 有一个 sign_in_count 选项,但对话框会一直留在那里,直到用户注销并重新登录。
如果您将该: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
在控制器中
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] %>