2014-09-10 12 views
1

У меня есть следующий код в контроллере рельсы:Написать Руби Hash с повторяющимися значениями, не повторяя значения

@users = User.where(["first_name = :first_name or 
        last_name = :last_name or 
        company = :company", 
        { first_name: term, last_name: term, 
        company: term }]) 

Term является term = params[:search]

мне не нравится, что я повторяю term

{ first_name: term, last_name: term, 
         company: term } 

есть способ DRYER для этого?

Спасибо!

ответ

6

Вы можете сделать это следующим образом:

@users = User.where("first_name = :term OR 
    last_name = :term OR company = :term", term: term) 
2

Вы можете использовать синтаксис хэш для настройки параметров

users = User.where('first_name = :term OR 
        last_name = :term OR 
        company = :term', 
    term: term) 
Смежные вопросы