我有编辑形式的选择器,应该将用户分配给项目。
= 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
标签,但我无法弄清楚如何正确实现它。
答案 0 :(得分:2)
根据需要使用f.select
,您可以使用pluck
:
= f.select(:user_id, User.pluck(:name, :id))
User.pluck(:name, :id)
创建一个[name, id]
元组数组。
答案 1 :(得分:1)
如果我理解正确,您可以使用collection_select
帮助:
f.collection_select(:user_id, User.all, :id, :name)