我有一个问题,我有点尴尬地问,但似乎无法搞清楚。
我正在编写一个表单,允许用户过滤信息,以便只查看他们想要的内容。在表单中,我使用select_tag帮助程序作为下拉菜单。选择菜单由一组用户填充。我有以下代码:
<% @users.each do |user| %>
<%= select_tag "users", options_for_select([user.name]) %>
<% end %>
这个问题是,它会为@users数组中的每个user.name生成一个选择菜单。我假设问题是我在@users上使用.each。但是,今天早上我一直在努力解决这个问题,所以我想我只是问......
使用select_tag帮助程序时,从数组中获取项目以填充到单个标记的正确方法是什么?
由于
答案 0 :(得分:8)
您不必遍历用户。你可以这样做:
<%= select_tag "users", options_from_collection_for_select(@users, "id", "name") %>