0
我所拥有的用户有一个布尔字段der
定义了一个名为DER的名单如下下拉菜单中轨
def show
@user = User.find(params[:id])
@ders = User.where(der: true, troop: @user.troop)
...
末
与特定用户填充我想生成一个下拉菜单,每个选项都是每个der的名称,但我无法在Ruby on Rails中找出<%= f.select %>
语句。我已经尝试了一堆的变化,这是最近我已经试过
<% der_array = User.where(der: true, troop: @user.troop).map { |der| [der.name, der.id] } %>
<%= options_for_select(der_array) %>
但这恰恰说明不是在下拉格式DER名的文本值。通过下拉菜单填充DER的名称并将其ID发送到控制器的最佳方式是什么?
编辑:工作代码
<%= form_for(@user) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<%= f.collection_select :id, @ders, :id, :name %>
<% end %>
会'什么
collection_select
:your_field'在这种情况下?我不确定这应该指向什么/参考 – mjswartz
假设选择是在'form_for @ model'块中,它应该是'@ model'的字段名称。 – richfisher
最后得到解决这个问题并且它可以工作大!谢谢。检查我的编辑的工作代码 – mjswartz