2016-04-22 10 views
1

私のRailsアプリケーションでは、製品の説明と名前に一致するキーワードまたはキーフレーズを使用して製品を検索させようとしています。Rails - Active Record検索 ".where"または同じ基準のステートメント

は、ドキュメントによると、私はそれはそうのように書かれています:

@productList = Product.where("description like ? or name like ?", @searchCriteria, @searchCriteria) 

説明と名前の両方に一致するため、短手があります:

def productSearch 
    @results = 0 
    if !params[:searchInput].nil? 
    @results = 1 
    @searchInput = params[:searchInput] 
    @searchCriteria = "%#{params[:searchInput]}%" 
    @productList = Product.where("description like ? or name like ?", @searchCriteria, @searchCriteria) 
    end 
end 

は何私を失望させることは、このラインであります製品の同じ検索基準への変更?

私はRuby on Railsの新機能について言及したいと思います。これは私のグループと電子商取引のWebサイトを構築する必要がある学校プロジェクトのためです。 。

答えて

2

試してみてください。

@productList = Product.where("description like :search or name like :search", search: @searchCriteria)

+0

'どのようなものです:search'?あなたは ':searchInput'パラメータを参照していますか、それとも特別なルビキーワードですか? – Rafi

+0

Aaaah私はあなたが何をしているのか分かりません。私はそれをテストしただけで動作します。ありがとう、トン! – Rafi

+1

こんにちは、:検索は単なる記号で、変数のように考えてください。あなたはそれを名前を付けることができます:)それはそれが最後の部分( 'search:')と一致することを確認します。 –

関連する問題