在select中连接字段名称

时间:2013-02-07 20:43:35

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

我有一个表单,允许您按名称选择设施,然后将设施的ID写入数据库中的值。

<%= f.collection_select(:transfer_to_id, Facility.all, :id, :facility_name, {:include_blank => true}, {:class => 'select'})%>

我希望能够选择设施名称,但在设施名称的右侧显示表格中的facility_address。我不知道如何做到这一点,可能是某种数组或使用辅助方法。

如果有人能提供一些帮助,我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

这是未经测试的,所以请耐心等待,但您需要为Facility模型添加方法:

def facility_name_with_facility_address
  facility_name << " " << facility_address
end

然后在您的表单中,您想要更改以下内容:

<%= f.collection_select(:transfer_to_id, Facility.all, :id, :facility_name, {:include_blank => true}, {:class => 'select'})%>

对此:

<%= f.collection_select(:transfer_to_id, Facility.all, :id, :facility_name_with_facility_address, {:include_blank => true}, {:class => 'select'})%>

答案 1 :(得分:2)

以下是通过创建Class方法为我正常工作的原因。

  def facility_name_with_facility_address
    "#{facility_name} | #{facility_address}"
  end