2016-07-06 60 views
0

我使用Rails 4.2.3。我有一个返回某些列的关系......我如何使RoR选择其他字段的选项名称和ID级联?

MyObject.joins(:distance_unit) 
    .where(["user_id = ?", user.id]) 
    .select("distance, distance_units.id, distance_units.abbrev") 

这个数据意味着在选择菜单中使用...

<%= select_tag "distance", options_from_collection_for_select(@distance_options, "distance", "distance") %> 

不过,我想要的是对ID进行的级联“distance”和“distance_units.id”字段以及选项名称是“距离”和“distance_unit.abbrev”字段的拼接。我如何在Rails中做到这一点?

回答

0
  • 你可以用options_for_select做到这一点,就像这样:

    <%= select_tag "distance", options_for_select(@distance_options.collect{|obj| ["#{obj.distance}_#{obj.id}", "#{obj.distance}_#{obj.abbrev}"]}) %> 
    
+0

我的查询中,虽然,我只选择两列,分别从不同的数据库表,所以没有模型封装这两个。如何在给定条件下进行连接? – Dave

+0

看到我更新的答案,它会为你工作.. :) – Devd

相关问题