選択した値がnilの場合、option_from_collection_for_selectの問題をいくつか経験しています。予約に関連していることがgoiingされているユーザーとの選択があり/編集ページを追加レール3選択されたヌル値を持つoption_from_collection_for_select
class Reservation < ActiveRecord::Base
belongs_to :user
end
予約で:
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation, :remember_me, :username, :locale
end
と予約1:
私はUserモデルを持っています:
<%= select_tag('user_id',
options_from_collection_for_select(@users, :id, :username, @reservation.user.id)) %>
これは、@ reservation.user.idがnilではない編集ページで機能しますが、追加ページにnilエラーがあります。 ちょうど今のところ、@ reservation.user.idがnilであるかどうかをチェックし、nilであるかどうかに応じて選択した値を入れます。これは動作しますが、私はこの解決策が嫌いです。
どうすればこの問題を解決できますか?あなたはofcfsための最後の引数のための条件を置く必要があるだろう、非常に少なくとも
:
ありますが、私は '@reservationかどうかをチェックする(私はルビー/ RoRのに新たなんだ)ソリューションのこの種を探していました.user.id'は 'options_from_collection_for_select'でnullでした。これは私の問題を解決します: '@ reservation.user.id.nil? ? "":@ reservation.user.id'他に何も追加する必要はありません –
上記のコメントに誤字があります。正しい方法は: '@ reservation.user.nil? ? "":@ reservation.user.id' –