我正在尝试在所有用户中使用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
有人可以告诉我怎么了吗?
答案 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 %>