这更像是一个风格问题。
在编写查询时,我总是发现自己检查查询的结果是否为空白,这似乎 - 我不知道,在某种程度上过于冗长或错误。
前任。
def some_action
@product = Product.where(:name => params[:name]).first
end
如果没有 name = params[:name] 的产品,我会得到一个 nil 值,它会破坏事情。
我已经开始写这样的东西
def some_action
product = Product.where(:name -> params[:name])
@product = product if !product.blank?
end
是否有更简洁的方法来处理 nil 和空白值?当事情依赖于其他关系时,这变得更加令人头疼
前任。
def some_action
@order = Order.where(:id => params[:id]).first
# if order doesn't exist, I get a nil value, and I'll get an error in my app
if !@order.nil?
@products_on_sale = @order.products.where(:on_sale => true).all
end
end
基本上,有什么我还没有学到的东西可以让处理 nil、空白和潜在的视图破坏实例变量更有效吗?
谢谢