2016-07-06 30 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

相關問題