2016-06-29 58 views
0

我有一個選擇的形式:的Rails通過ID在選擇,而不是字符串

<%= f.select :business_name, options_for_select(Client.uniq.pluck(:business_name)),{:include_blank => false},{:multiple=>true} %> 

它選擇了不同business_name,並使得它們在一個選擇框。選擇business_name而不是發送名稱字符串時,我需要表單發送相關的business_id

我該如何做到這一點?

回答

2

options_for_select需要一個數組數組。理想情況下,如果您希望html選擇選項的名稱和值不同,請將這些對作爲[名稱,值]傳遞。通過使用pluck只抓取您在[名稱]中傳遞的商戶名稱 - 沒有值放入選項標籤。

更改您的代碼使用方法:

...options_for_select(Client.uniq.pluck(:business_name, :id))...> 
+0

This Works。謝謝。 – HoosierCoder

1

您可以使用此:

options_for_select(Client.uniq(:business_name).collect{ |c| [c. business_name, c.id] }) 

所以,你會回報企業名稱中的所有唯一值,並與名稱 - 值對選擇

的收集
相關問題