在我的Rails 3应用程序中,我使用before_filter
来确保该操作只能由permanent
用户使用,即不来宾的用户:< / p>
def permanent_user
@user = User.where('guest != ?', true).find(params[:id])
redirect_to(root_path) unless current_user?(@user)
end
问题是当数据库中的总用户数非常低时,我经常在第一行收到ActiveRecord::RecordNotFound
错误。
如何改进我的功能以创建@user
对象或nil
?
感谢您的帮助。
答案 0 :(得分:4)
这个怎么样?
def permanent_user
redirect_to root_path if current_user.guest?
@user = current_user
end