仅在注册时显示按钮不登录

时间:2014-05-08 13:35:57

标签: ruby-on-rails devise-confirmable

我正在使用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%>

但这不起作用..... 提前感谢任何建议,建议。

2 个答案:

答案 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