2015-04-15 2 views
2

Я пытаюсь отобразить записи, которые имеют определенные значения в одном из полей.Рельсы отображают данные с определенным значением поля

Контроллер

def mini 
    @gears = Gear.where("Lab like ?", "%Mini%") 
    end 

Приведенный выше код отображает каждую запись со значением "Mini" в поле "Lab". Теперь я пытаюсь сделать так, чтобы он отображал записи с двумя разными значениями «Mini» и «Primary». Таким образом, он покажет мне все записи, которые имеют либо «Мини», либо «Первичный» в лабораторном поле.

Я попробовал этот

def mini 
    @gears = Gear.where("Lab like ? AND Lab like ?","%Mini%", "%Primary%) 
    end 

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

ответ

2

вы должны использовать OR вместо AND.
использовать это Gear.where("Lab like ? OR Lab like ?","%Mini%", "%Primary%)

+0

wow не может поверить, что я не думал об этом. Работала как очарование за вашу помощь @AshutoshTiwari – aealvarez3

0

Это идеальный вариант использования для Scopes. Смотрите это: http://guides.rubyonrails.org/active_record_querying.html#scopes

Так что в вашем файле модели gear.rb, сделать что-то вроде:

scope :mini, -> { where(lab: 'Mini') } 
scope :primary, -> { where(lab: 'Primary') } 

Тогда в вашем contorller, вы могли бы сделать:

@gears = Gear.mini #mini gears 

или

@gears = Gear.primary #primary gears 

или

@gears = Gear.mini.primary #mini and primary gears 
+0

Риск использования областей здесь заключается в том, что если записи не соответствуют критериям, все записи Gear возвращаются. – digijim

+0

Использование 'Gear.mini.primary' не будет комбинировать условия с логикой, но с' AND', поэтому результат не может быть возвращен с помощью 'Gear.mini.primary' – MrYoshiji

+0

Ответ от ответа Ашутоша работал, но я считаю, что ваш ответ @ aspencer8111 может работать как решение для http://stackoverflow.com/questions/29494696/sunspot-solr-search-through-data-with-specific-field-value, если вы можете взглянуть на него и дать свои мысли, пожалуйста – aealvarez3

Смежные вопросы