8

collection_select の問題を解決するのを手伝ってください。私が使用する場合:

collection_select(:service, :carmake_id, Carmake.all, :id, :name, include_blank: 'Any')

HTML は次のとおりです。

<select id="service_carmake_id" name="service[carmake_id]">
  <option value="">Any</option>
  <option value="12">Audi</option>
  <option value="16">Porsche</option>
  <option value="17">VW</option>
</select>

しかし、「Any」オプションには value="0" が必要です。出来ますか?

アップデート:

select(:service, :carmake_id, [['Any', 0]] + Carmake.all.collect { |p| [p.name, p.id]})

助かりましたが、線路はありますか?それとも私は何かを誤解していますか?

4

1 に答える 1

14

これはうまくいくかもしれません:

options = Carmake.all.unshift Carmake.new(id: 0, name: 'Any')
collection_select(:service, :carmake_id, options, :id, :name, include_blank: 'Any')

実際の保存/更新はテストしていませんが。

于 2013-09-06T14:13:50.570 に答える