我在我的Rails应用程序中有一个视图,我想要选择一个单元来发送给一个电话。这是目前的样子。
<%= form_tag dispatch_call_call_path(call), :class => "dispatch-form-tag" do %>
<%= select_tag(:unit_ids, options_from_collection_for_select(Unit.active.order("unit_name ASC"), "id", "unit_name"), :include_blank => true, :required => true, :class => 'select' )%>
<%= button_tag 'Dispatch', class: 'btn btn-danger btn-small', data: {disable_with: "<i class='icon-spinner'></i>Processing..."} %>
<% end %>
这很好用,但我想在下拉菜单中显示有关该单位的更多信息,例如他们是否正在通话及其状态。
我在calls_helper
下写了这个助手def unit_select
Unit.active.order("unit_name").map{|unit| unit.calls.where(call_status: "open").empty? ? ["#{unit.unit_name} #{unit.unit_type.unit_type}", unit.id] : ["#{unit.unit_name} (on call) #{unit.unit_type.unit_type}", unit.id] }
end
当在表单中使用时,我会给出单位名称(待命)单位类型,如果该单位正在通话中。
当我从头创建一个新的调用时,这就是我在表单中使用它的方式。
<%= f.select(:unit_ids, unit_select, {}, {:multiple => true, :class => 'select'}) %>
我想在索引视图中使用这个帮助器,所以当一个单元被调度到一个调用时,用户会看到他们创建一个调用时所用的相同信息。
但我不确定如何在select_tag中使用我的unit_select帮助器。我已经阅读了Rails的API文档,但似乎无法解决这个问题。
非常感谢任何帮助。