0

これは本当に簡単な質問ですが、私は新しいです。モデルから値が入力されたドロップダウン メニューを作成しようとしています。ただし、都市名を表示する代わりに、0x007fee0b7442c0 のようなレコード ID を取得しています (これらが ID と呼ばれるかどうかはわかりません。別の用語があると思います)。

コントローラ:

@cities = City.find(:all, select: "name")

意見:

<%= f.select(:city, @cities) %>

私は何を間違っていますか?

4

5 に答える 5

2

nameデータベースからの属性だけが必要な場合は、次のようにします。

@cities = City.pluck(:name)
# => ["Sydney", "Melbourne", "Canberra"]
于 2013-05-06T06:11:08.443 に答える
0

@cities = City.find(:all, select: "name")代わりに行うことで改善することもできます

@cities = City.pluck(:name)
于 2013-05-06T06:14:18.800 に答える
0

セレクトボックスに都市名を表示し、フォーム送信時に都市IDをパラメーターとして渡したい場合は、これを使用します

f.select :city, @cities.map {|c| [ c.name, c.id ] }
于 2013-05-06T06:24:37.267 に答える
0

ここに collection_select を使用するためのガイドがあります

http://www.fmhcc.com.au/ruby/rails/using-collection_select-in-rails/

于 2013-05-06T06:11:44.837 に答える