2015-12-08 64 views
0

我在我的數據庫中有一些名爲「role」的用戶。角色包含admin,manager或user作爲值。 現在我想遍歷這個列,並且只列出一個相應的角色,而不是全部在下拉列表中。目前的下拉列表類似:Rails:下拉列表中的記錄

  • 管理
  • 用戶
  • 用戶
  • 用戶
  • 用戶
  • 經理

但我想這是隻有像

  • 管理
  • 用戶
  • 經理

這是我當前的代碼:

<%= f.label :role %> 
    <%= f.collection_select(:role, User.all, :role, :role, {prompt:true}, {class: 'form-control'}) %> 

什麼想法?感謝你們!

+1

'User.distinct(:角色).pluck(:角色)'會給你只是一個在用戶表中不同角色的陣列高效的查詢 –

回答

2

要做到這一點,pluckUser模型通過uniq的角色:

<%= f.select(:role, User.pluck(:role).uniq, {prompt:true}, {class: 'form-control'}) %> 
+0

那裏我得到「錯誤的參數數量(3爲4..6)」錯誤。 :( – CottonEyeJoe

+0

這是正確的答案 –

+0

@Andrey Deineko現在我得到一個「未定義的方法角色」的「用戶」:字符串「錯誤 – CottonEyeJoe

相關問題