在轨道上的红宝石模型中使用一次



我在category_controller.rb中有一个函数:

def index
 @categories = Category.search(params[:search]).order name: :asc
 if @categories
 else
  @categories = Category.all.order name: :asc
 end
end

此代码有效。但这查询建模两次。如何只能查询一次以建模,但保留代码的角色?

一个可能的解决方案是这样做

def index
 @categories = params[:search] ? Category.search(params[:search]).order(name: :asc) : Category.all.order(name: :asc)
end

最新更新