Ich bin so jede Beratung zu den Schienen wird sehr geschätzt.Nested Attribute: unerwünschte Validierung trotz reject_if: All_blank
Ich habe eine Klasse Eintrag mit verschachtelten Attributen Adressen,
/app/models/entry.rb
class Entry < ActiveRecord::Base
has_many :addresses, :dependent => :destroy
accepts_nested_attributes_for :addresses,
:allow_destroy => true,
:reject_if => :all_blank
end
mit Klasse-Adressen wie diese
/app/models/address.rb
class Address < ActiveRecord::Base
belongs_to :entry
validates :zip, :presence => true
end
Und in der verschachtelten Form habe ich
/app/view/entries/_form.html.slim
= simple_form_for(@entry) do |f|
= f.error_notification
- @entry.addresses.build
.form-inputs
= f.simple_fields_for :addresses do |address|
= render 'address_form', :f => address
Die Idee ist, dass, wenn die Form der ‚build‘ wiedergegeben wird, wird eine leere ‚Adresse‘ zusätzlich zu den aktuellen Adressen erstellen aufgeführten in der Datenbank. Wenn die Änderungen gespeichert werden und die neue Adresse noch leer ist, wird sie zurückgewiesen und nicht in der Datenbank gespeichert.
jedoch die Validierung in der address.rb vor der Speicherung die Validierung tut, daher kann der Benutzer nicht mit der Speicherung Aktion fortzufahren. Gibt es etwas, das ich weggelassen habe?