如果用户的帐户未启用,我会尝试自动退出用户。
<% if current_user %>
<% if current_user.enabled == "no" %>
<% flash.alert = "Your account is disabled! Please contact support for more information" %>
<% sign_out current_user %>
<% end %>
<% end %>
但我得到一个“未定义的方法`sign_out'用于#&lt;#:0x007f92001bce68&gt;”错误。我正在使用设计。有没有办法做到这一点?
答案 0 :(得分:2)
首先将enabled属性设置为布尔类型。
在ApplicationController中
before_filter :check_user
def check_user
sign_out current_user if current_user && current_user.disabled?
end
在您的用户模型中:
def disabled?
enabled == false
end
答案 1 :(得分:1)
使用此名称设计方法并根据您的要求进行更新
def after_sign_in_path_for(resource_or_scope)
super
session[:id] = current_user.id
session[:enable] = current_user.email
if current_user.enabled = "no"
flash.alert = "Your account is disabled! Please contact support for more information"
sign_out_path
else
flash.alert = "Successfully login."
redirect_to "specify your path for redirect"
end
end