mamaccepts_nested_attributes_for zignorować puste wartości
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
Mam dynamiczną formę gdzie naciśnięcie „+”, aby dodać nowe pola tekstowe do tworzenia nowych faworytów. Co chcę zrobić, to zignorować puste, uważam, że trudniej jest sortować w kontrolerze aktualizacji niż atrybut niezagnieżdżony.
Tym, co mam tymczasowo, jest włamanie w wywołaniu zwrotnym after_save, usunięcie pustych rekordów. Jaka jest najbardziej railsowa metoda ignorowania tych pustych obiektów?
Nie chcę sprawdzania poprawności i błędów, po cichu usuwam/ignoruję.
Świetna końcówka apneadiving, dzięki! Znalazłem to (dla każdego, kto czyta) "Możesz także ustawić procę: reject_if, aby po cichu zignorować wszelkie nowe skróty rekordów, jeśli nie spełnią twoich kryteriów. Na przykład, poprzedni przykład mógł zostać przepisany jako:" - http: //api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html – Mike
Nie ma sprawy :) – apneadiving
Rails 5 ma wartość 'reject_if:: all_blank'. Nie wiem, czy to było niedawno wprowadzone w Railsach 5, czy też działa w starszych wersjach szkieletowych. – danielricecodes