options_from_collection_for_select中的第二个属性

时间:2015-03-02 12:54:41

标签: ruby-on-rails

我有这样的options_from_collection_for_select:

= form_tag url_for(action: :index), method: 'get' do
= select_tag :group_id, options_from_collection_for_select(@groups, :id, :title, ), prompt: "Tickets des groupes", data: {submit_on_change: true}

我想在括号中添加第二个属性:每个组的票数,这样当我点击我的select_tag时,它看起来像:

组#1(2张门票) 第2组(4张门票) 第3组(1张票)

如何添加第二个属性?

干杯:)

1 个答案:

答案 0 :(得分:0)

您可以将:标题更改为其他名称,该名称可以是模型上的方法

= select_tag :group_id, options_from_collection_for_select(@groups, :id, :title_with_tickets), prompt: "Tickets des groupes", data: {submit_on_change: true}

然后你的模型就像:

class Group
  def title_with_tickets
    "group #{id} (#{tickets.count} tickets)"
  end

注意,上面的代码假设您在组上有关系票,因此您可以调用tickets.count并获取计数。代码可能会根据您的关系名称/类型而有所不同。