2016-07-22 7 views
0

ich eine Sammlung in meiner Form wählen haben:ROR: Sammlung mit mit include_blank wählen wird nicht zulassen, nil

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

Und meine Modellvalidierung hat für einen Bereich keine Anforderung.

Es war mein Verständnis, dass mit der Verwendung von include_blank würde ich mich entscheiden, Null. ich erhalte jedoch ein Validierungsfehler

EDIT "Area muss vorhanden sein":

Hier ist der wichtige Code im Modell:

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

bitte Ihr Modell auf die Frage hinzufügen – neydroid

+1

Sind Sie Schienen mit 5?, Ich erinnere mich daran, gelesen, dass Associates_to Assoziationen in Schienen 5 erforderlich sind, es sei denn, Sie geben erforderlich: false, oder so etwas, ich erinnere mich nicht. – fanta

+0

Ich benutze Schienen 5 – Bevilacqua

Antwort

3

Rails 5 zwingt Sie alle belongs_to Vereinigungen setzen, es sei denn Sie optional angeben: true. Es wurde hinzugefügt, Dateninkonsistenzen zu verhindern, so, falls Sie es wie bei früheren Schienen Versionen verhalten wollen, müssen Sie nur ändern müssen dies Ihr Verein:

belongs_to :area, optional: true 
1

In Rails 5 Validate auf true gesetzt ist standardmäßig aktiviert. Bitte prüfen Sie nach: optional und: erforderliche Optionen unter belongs_to Dokumentation für weitere Details.

Verwandte Themen