Rails 5 collection_select:在一列中显示多个属性

时间:2016-03-02 12:01:03

标签: ruby-on-rails ruby-on-rails-5 collection-select

我试图制作一个集合选择,它显示来自两个不同模型的两个属性。

我想选择一个帐户。该帐户有一个名称和一个所有者。所有者是一个也具有属性名称的模型。 使用集合时,选择我希望它显示:account.name + owner.name。这是我目前的collection_select,它只显示account.name

  <div class="field">
    <%= f.label :to_account_id %>
    <%= f.collection_select :to_account_id, Account.all, :id, :name %>
  </div>

例如:帐户名称主帐户且帐户所有者 Stan ,选择时应显示 Stan - 主帐户

使用:

    <%= f.collection_select :to_account_id, Account.all.map{|a| ["#{a.owner.name} - #{a.name}", a.id] },:second,:first %>

1 个答案:

答案 0 :(得分:0)

尝试以下代码

 <%= f.collection_select :to_account_id, Account.all.map{|a| ["#{a.name} - #{a.owner.name}", a.id] } %>