2011-01-20 2 views
2

Как бы я написать
(А или В) и ВКак я могу логировать логические логические операторы с активной записью?

в контроллере?

Теперь у меня есть это (а или б)

@articles = Article.where ("автор = OR название =?"), PARAMS [:] автор, PARAMS [: название])

Или есть более элегантный способ добиться того же результата? (scopes ??)

ответ

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]}) 
Смежные вопросы