2016-07-22 3 views
0

nilを許可しません、私はコレクションを持って、私のフォームで選択します。ROR:コレクションはinclude_blankとで選択が

<div class="field"> 
    <%= f.label :area %> 
    <%= f.collection_select(:area_id, Area.all, :id, :name, include_blank: "No area.") %> 

そして、私のモデルの検証は、地域のための要件が​​ありません。

include_blankを使用すると、私はnilを選択できるようになると私は理解していました。しかし、私は検証エラー「エリアが存在しなければなりません」

EDITます:ここで

は、モデル内の重要なコードです:

has_many :ratings, dependent: :destroy 
has_many :noise_ratings, dependent: :destroy 
has_many :statuses, dependent: :destroy 
has_many :checkins, dependent: :destroy 

has_and_belongs_to_many :features 

belongs_to :area 
belongs_to :campus 

validates :name, presence: true, uniqueness: { scope: :campus_id, message: "unique space for each campus." } 
validates :description, presence: true 
validates :campus_id, presence: true 
+1

質問 – neydroid

+1

にモデルを追加してくださいあなたはレールを使用しています5?、私は一種の覚えがあることを覚えていますが、必要なものを指定しないかぎり、関連する必要はありません:偽など、私は覚えていません。 – fanta

+0

私はレールを使用しています5 – Bevilacqua

答えて

3

レールを指定しない限り、すべてbelongs_toの関連付けを設定する必要があります(true)。それは、あなたはそれが以前のレールのバージョンのように動作したい場合には、あなただけのこれにあなたの関連付けを変更する必要があり、データの不整合を防ぐために加え、そうした

belongs_to :area, optional: true 
1

はRailsの5検証では、デフォルトでtrueに設定されています。詳細については、オプション:およびbelongs_toの必要なオプションを確認してください。

関連する問題