2015-11-03 2 views
1

Существует модель с именем Company и имеет количество записей. Позже я добавил поле с именем area. Я ищу поле, я тоже добавляю это поле.Как показать уникальные записи в Rails?

Я отображая всю область в раскрывающемся списке следующим образом:

<%= label_tag :area, "Area" %> 
<%= select_tag 'area', options_for_select(Company.uniq.pluck(:area)),include_blank: true, class: 'form-control'} %> 

Теперь участки отображение хорошо, но когда я даю области, как «мы» в одном случае и «США» в другом случае и " Us ", в другом случае он отображает 3 поля , а также предыдущие записи будут областями областей пустыми/пустыми, здесь он показывает 2 или более пробелов.

Как показать уникальные записи для капитала и в нижнем регистре и как показать только один пробел в раскрывающемся списке?

+0

Итак, вы хотите показать только один 'US'? вместо 'Us',' US' и 'us' или что-то еще? –

+0

Да. Я хочу показать кого-то из вышеперечисленного, включая одно пустое поле в раскрывающемся списке (вместо 2 или более) – venkat

+0

в порядке, затем попробуйте мой ответ. Это должно сработать. –

ответ

1

Изменить это:

Company.uniq.pluck(:area) 

к этому:

Company.pluck(:area).compact.map(&:downcase).uniq 

Это даст вам Uniq downcased области. т. е. вы получите только us вместо трех вариантов: US, us и Us.

+0

** undefined method 'downcase 'for nil: NilClass ** Iis ошибка, я получаю – venkat

+0

в порядке, попробуйте обновленный ответ. –

+1

Вы попробовали это: 'Company.pluck (: area) .compact.map (&: downcase) .uniq'? Дайте мне знать, если у вас есть другие вопросы. –

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