在导轨指南中
http://guides.rubyonrails.org/form_helpers.html#option-tags-from-a-collection-of-arbitrary-objects
我们可以使用下面的
显示一个带有城市名称作为选项的选择框<%= options_from_collection_for_select(City.all, :id, :name) %>
现在我的选择框有以下选项:
我需要在选择框中显示城市名称,国家/地区的选项。我怎么能这样做?
喜欢这个
在cities表中有country_id。
答案 0 :(得分:3)
首先,您应该在City
模型中实施适当的方法,例如:name_with_country
:
def name_with_country
"#{name}, #{country.name}"
end
第二,您应该使用此方法并在country
查询中加入cities
以避免N + 1问题:
<%= options_from_collection_for_select(City.includes(:country), :id, :name_with_country) %>