在轨道上的选定输入红宝石上循环

时间:2019-03-16 19:44:12

标签: ruby-on-rails ruby

我正在尝试在所有用户中使用ruby on rails进行选择输入,这几乎可行,但问题是无法获得用户的用户名,但我呈现出类似以下内容:{{1} }

我在控制台中创建了3个用户,当我在Rails控制台上时可以看到他们 我在我的控制器中找到了它:

#<User:0x007f8cc1024d60>

也是我的参数

  def new
    @bug = Bug.new
    @users = User.all
  end

在我的html中:

def bug_params
    params.require(:bug).permit(:owner, :title, :description)
  end

有人可以告诉我怎么了吗?

2 个答案:

答案 0 :(得分:0)

使用select表单帮助器,您仅返回User实例的集合。

根据documentation中的指定,您需要收集要作为选项值和选项显示传递的User的什么属性。
例如:

<%= form.select :owner, @users.collect {|u| [ u.name, u.id ] } %>

#=> output
#  <select name="bug[owner]">
#    <option value="1">John</option>
#    <option value="2">Joe</option>
#  </select>

答案 1 :(得分:0)

使用collection_select从记录集中创建一个选择。

<%= form_with model: @bug do |form| %>
  <%= form.collection_select(:owner, @users, :id, :name) %>
  <%= form.text_field :title, placeholder: "title" %>
  <%= form.text_area :description, placeholder: "description" %>
  <%= form.submit %>
<% end %>