Accept nested attributes for a record that is not an association

Note: Instead of using the method in this card, you probably want to use ActiveType's nested attributes Show archive.org snapshot which is a much more refined way of doing this.


The attached Modularity Show archive.org snapshot trait allows you to accept nested attributes for a record that is not an association, e.g.:

class Site < ActiveRecord::Base
  
  def home_page
    @home_page ||= Page.find_by_name('home')
  end
  
  does 'accept_nested_attributes_for_member', :home_page
  
end

It has some limitations:

  • Only works for singular member references ("belongs to"), not for a collection of references ("has many")
  • No support for deletion (but could be patched in)
  • You need to build this record yourself (obviously)
Henning Koch