在form_tag select_tag

时间:2016-05-27 12:15:56

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

我在我的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文档,但似乎无法解决这个问题。

非常感谢任何帮助。

0 个答案:

没有答案