0

何万ものレコードがあるモデルでSearchlogicを使用していますが、検索ページが最初に読み込まれるときに最初にすべてを表示したくありません。:search paramsがない場合、searchlogicから空の検索オブジェクトを取得するにはどうすればよいですか?

  def検索
    @products = []
    if params [:search] &&!params [:search] .blank?
      @search = Product.searchlogic(params [:search])
    そうしないと
      @search = Product.searchlogic(....空のsearchlogicオブジェクトを取得するためにここに何がありますか?...)
    終わり
    @products = @ search.all
  終わり
4

1 に答える 1

1

ロジックを次のように変更します。

def search
    @products = []
    @search = params[:search] && !params[:search].blank? ?
        Product.searchlogic(params[:search]) : nil
    @products = @search.all unless @search.nil?
end

確かに、次のようにifステートメントを保持できます。

def search
    @products = []
    @search = nil
    if params[:search] && !params[:search].blank?
        Product.searchlogic(params[:search])
    end
    @products = @search.all unless @search.nil?
end
于 2010-10-28T21:58:38.690 に答える