active_interaction
active_interaction copied to clipboard
Handling nested attributes (hash of hashes)
Hello! I am wondering how I can set up my interaction to expect has_many nested attributes in the Rails form format.
I have two classes:
class User
has_many :pets
end
class Pet
belongs_to :user
end
And when a create a form for the User model and I want to already create their pets, I can just use the fields_for helper to send a pets_attributes hash with others hash (simulating an array).
Example: The submit will be sent in this format:
"user" => { "pets_attributes"=>{"0"=>{"name"=>"Faisca}, "1" => {"name" => "Cat"}}}
I would like to know how to expect the pets_attributes hash inside of my interaction, knowing that the pets_attributes can have n hashes because it is a has_many association.
I'm considering solutions for this. See #535.
A workaround until the gem support this, is to use the option strip: false
to the hash (nested attributes wont be validated but it will works):
class CreateUser < ActiveInteraction::Base
hash :pets_attributes, default: nil, strip: false
A workaround until the gem support this, is to use the option
strip: false
to the hash (nested attributes wont be validated but it will works):class CreateUser < ActiveInteraction::Base hash :pets_attributes, default: nil, strip: false
It's works for me!