0

在我的 Rails 3 应用程序中,我使用 abefore_filter来确保该操作只能由permanent用户使用,即来宾用户:

def permanent_user
  @user = User.where('guest != ?', true).find(params[:id])
  redirect_to(root_path) unless current_user?(@user)
end

问题是ActiveRecord::RecordNotFound当数据库中的总用户数非常低时,我经常在第一行出现错误。

如何改进我的功能以创建@user对象或nil

谢谢你的帮助。

4

1 回答 1

4

这个怎么样?

def permanent_user
  redirect_to root_path if current_user.guest?
  @user = current_user
end
于 2013-11-13T12:16:35.703 回答