2015-11-03 35 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'} %> 

現在區域顯示正常,但當我在一個案件在另一種情況下給區爲「我們」和「我們」和「我們「在其他情況下,它顯示3個字段 以及以前的記錄將有區域字段爲空/空白,這裏它顯示2個或更多的空白。

如何顯示大寫和小寫的唯一記錄以及如何在下拉菜單中只顯示一個空格?

+0

所以你只想顯示一個'US'?而不是'我們','美國'和'我們'或其他什麼? –

+0

是的。我想顯示上述任何人,包括一個空白字段在下拉(而不是2或更多) – venkat

+0

好吧,然後嘗試我的答案。這應該工作。 –

回答

1

更改此:

Company.uniq.pluck(:area) 

這樣:

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

這會給你uniq的downcased領域。即,您將只獲得us而不是三個選項:US,usUs

+0

**未定義的方法'downcase'爲零:NilClass ** Iis我得到的錯誤 – venkat

+0

好的,試試更新後的答案。 –

+1

你試過這個:'Company.pluck(:area).compact.map(&:downcase).uniq'?如果您有任何其他問題,請告訴我。 –