Howdy, folks!

I'd like to suggest adding a stronger version of the :reject_if option to 
the .accepts_nested_attributes_for class method, one that not only prevents 
*new* records from being added, but also destroys *existing* records, using 
the same supplied logic.

Use-case:

A person has many email addresses, and the person wants to update their 
profile by adding and removing email addresses in a form. This form is 
designed to be a simple list of text fields, one for each email address. 
Users can update an existing email address by simply editing the text 
field, create a new email address by filling in a new text field, and 
remove existing email addresses by clearing out a text field. Simplicity 
and consistency is the goal here.

However, .accepts_nested_attributes_for's :reject_if option only permits 
2/3 of these use-cases, so I have created a gem that adds a new :destroy_if 
option, and this permits all three use-cases! I am posting here to see if 
there is interest in merging this (in one form or another) into 
ActiveRecord itself. More details are in the README of the gem:

https://github.com/botandrose/active_record-nested_attributes-destroy_if 

What do y'all think? Feedback very welcome. Thank you for your time!

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-core/6fa3f3a2-5637-4471-9eae-ae667907e255%40googlegroups.com.

Reply via email to