簡體   English   中英

在“選擇”幫助器中遍歷數組

[英]iterating over array inside “select” helper

我有編輯器形式的選擇器,應將用戶添加到項目中。

= f.label :user_id
= f.select(:user_id, [['First user', 1], ['Second user', 2]])

現在,它帶有示例數據。

用戶模型應解析選擇器中每個現有用戶的user.name和user.id。 這樣我就可以分配所需的用戶到項目

現在我有

- User.all.each do |user|
  = f.select(:user_id, [[user.name, user.id]])

但是它只是為每個用戶創建單獨的選擇器。 但是我需要在一個選擇器中創建一個現有用戶列表。 哪一種是顯示用戶迭代結果的最佳方法? 我猜應該有%li標簽,但我不知道如何正確實現它。

要使用f.select如你願意,你可以使用pluck

= f.select(:user_id, User.pluck(:name, :id))

User.pluck(:name, :id)創建一個[name, id]元組的數組。

如果我對您的理解正確,則可以使用collection_select助手:

f.collection_select(:user_id, User.all, :id, :name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM