действует как taggable-on tagged_with или_where? - PullRequest
4 голосов
/ 08 июня 2011

Я пытаюсь выполнить запрос ИЛИ ГДЕ в запросе акта, как тегируемого, например ...

Business.tagged_with(params[:query], :any => true)

Но я также хотел бы одновременно выполнить or_where, как это ...

Business.tagged_with(params[:query], :any => true).or_where('name LIKE ?', "%#{params[:query]}%")

Это, очевидно, не работает, так как нет метода or_where, но кто-нибудь знает, как это правильно выполнить?

Короче, я пытаюсь найти совпадение с любыми тегами ИЛИ названием компании. Благодарю.

1 Ответ

3 голосов
/ 21 июня 2011

Вы можете ИЛИ два запроса вместе, используя |оператор, например, так:

Business.tagged_with(params[:query], :any => true) | Business.where('name LIKE ?', "%#{params[:query]}%")

Обратите внимание, что это будет загружать результаты, поэтому вы не можете применять больше условий после этого, например, порядок.Он вернет массив со всеми соответствующими результатами, кроме дубликатов.

...