在 Rails 应用程序中实现Null 对象模式后(也在 RubyTapas 第 112 集中进行了描述),我重构了一些代码,但是有一个语法结构似乎不再起作用。
我曾经写过这样的语句current_user || redirect_out
,如果设置了 current_user,它会返回它,如果是nil
它,它会重定向出去,但现在current_user
可能是一个实例,Null::User
因此是“真实的”,并且那个片段永远不会重定向出去。
我尝试定义||
运算符,但没有奏效。有什么方法可以将这种语法用于空(但“真实”)对象?