我正在尝试验证管理员面板。
如果用户不是管理员,请取消登录请求。
默认情况下,如果电子邮件/密码错误。它呈现/users/sign_in
def create
super do |user|
if user.role >= 30
res
else
#Do not create sessions, authenticate
flash[:notice] = "You do not have permission"
redirect_to :back
end
end
end
目前,无论我做了什么,它都会签到。
我如何定制?
谢谢。
答案 0 :(得分:0)
标准方法是定义一个方法说
def if_user_admin
return user.role < 30
end
并在控制器中添加:
before_action :if_user_admin
答案 1 :(得分:0)
好吧,这种方式适合我。
如果可能,我希望看到更好,更简单的解决方案。
def create
user = User.find_by_email(params[:user][:email])
if user.role >= 30
super
else
render 'users/sessions/new'
end
end