我正在使用Devise gem进行用户身份验证并确认(电子邮件确认)。 我想在用户注册后才在主页上显示一个游览按钮,但不能在登录时显示。我做这样的事情
<% if current_user && current_user.confirmed_at_changed? && session[:tour].blank? %>
<% session[:tour] = true %>
<div id="outsider">
<button id="startTourBtn" class="btn btn-large btn-primary">Take a tour</button>
</div>
<%end%>
但这不起作用..... 提前感谢任何建议,建议。
答案 0 :(得分:1)
终于找到了感谢设计我可以使用sign_in_count仅显示已注册用户的按钮 而不是通过检查(current_user.sign_in_count == 1)登录用户。它只会显示一次:)
<% if current_user && !current_user.sign_in_count.blank? && current_user.sign_in_count == 1 && session[:tour].blank? %>
<% session[:tour] = true %>
<div id="outsider">
<button id="startTourBtn" class="btn btn-large btn-primary">Take a tour</button>
</div>
<%end%>
答案 1 :(得分:0)
如果您的用户无法使用未确认的电子邮件登录,那么您只需检查current_user
是否存在,或使用user_signed_in?
设计辅助方法。
<% if user_signed_in? %>
...
<% end %>
https://github.com/plataformatec/devise#controller-filters-and-helpers