2011-01-20 7 views
2

は、どのように私は、コントローラ内の
(A OR B)AND Bどのように私はブール論理ステートメントをアクティブなレコードでチェーンすることができますか?

を書くのでしょうか?今

私はこの持っている(AまたはB)

@articles = Article.where( "作者= ORタイトル=?")、のparams [:著者]、のparams [:タイトル])

同じ結果を達成するためのよりエレガントな方法がありますか? (スコープ??)

答えて

3

これは私がMetaWhere(http://metautonomo.us/projects/metawhere)を解決するために書いた問題のようなものです。

はMetaWhereで、そのクエリは、このようなものを書かされるだろう:

@articles = Article.where(:author.eq % params[:author] | :title.eq % params[:title]) 

またはこの:

@articles = Article.where({:author => params[:author]} | {:title => params[:title]}) 
関連する問題