devoaccepts_nested_attributes_for ignorare valori vuoti
class Profile
has_many :favorite_books, :dependent => :destroy
has_many :favorite_quotes, :dependent => :destroy
accepts_nested_attributes_for :favorite_books, :allow_destroy => true
accepts_nested_attributes_for :favorite_quotes, :allow_destroy => true
end
Ho una forma dinamica in cui si preme '+' per aggiungere nuovi textarea per la creazione di nuovi preferiti. Quello che voglio fare è ignorare quelli vuoti, trovo questo più difficile da ordinare nel controller di aggiornamento di un attributo non annidato.
Quello che ho temporaneamente è un hack nel callback after_save che elimina i record vuoti. Qual è il modo più semplice per ignorare questi oggetti vuoti?
Non desidero convalida ed errori, solo una cancellazione/ignorazione silenziosa.
Grande punta apneadiving, grazie! Con questo ho trovato questo (per chiunque altro leggendo) "Puoi anche impostare a: reject_if proc per ignorare silenziosamente qualsiasi nuovo record hash se non riescono a passare i tuoi criteri. Ad esempio, l'esempio precedente potrebbe essere riscritto come:" - http: //api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html – Mike
siete i benvenuti :) – apneadiving
Rails 5 ha 'reject_if:: all_blank'. Non so se questo è stato introdotto di recente in Rails 5 o se funziona anche nelle vecchie versioni di framework. – danielricecodes