Rails - 如何在集合选择表单中显示两个属性?

Zep*_*434 1 ruby-on-rails

我有一个collection_select表单,其中包含以下代码:

<%= f.collection_select(:city_id,  City.order('name ASC'),  :id, :name, {:prompt   => "Select a City"}, {:id => 'cities_select'}) %>
Run Code Online (Sandbox Code Playgroud)

现在它只是在我的数据库中按名称列出所有城市,但是有重复的城市名称.例如,有两个"皮奥里亚"城市.

因此,我想用逗号分别显示州属性:"Peoria,IL"以帮助区分城市.如何在表单代码中编写此代码?

jvn*_*ill 6

你也可以用collection_select

f.collection_select :city_id, City.order('name ASC'), :id, :name_with_state, { prompt: 'Select a City' }, { id: 'cities_select' }
Run Code Online (Sandbox Code Playgroud)

name_with_state 应该在你的城市模型中

def name_with_state
  "#{name}, #{state}"
end
Run Code Online (Sandbox Code Playgroud)