" /> " /> "/>

Rails : user_addresses vs @shipping_address of a User in form_for

32 Views Asked by At

I've got a User who's got multiple UserAddress

When I use :

<%= f.fields_for :user_addresses do |f| %>

My hash is nice :

"user_addresses_attributes"=>
    {"0"=>{"default"=>"0", "name"=>"chez mamie", "address1"=>"", "address2"=>"", "address3"=>"", "postal_code"=>"", "city"=>"", "_destroy"=>"0", "id"=>"105672"},
     "1"=>{"default"=>"0", "name"=>"billing", "address1"=>"32, rue du Loup", "address2"=>"", "address3"=>"", "postal_code"=>"33000", "city"=>"Bordeaux", "_destroy"=>"0", "id"=>"105673"},
     "2"=>{"default"=>"1", "name"=>"shipping", "address1"=>"1,rue doudou", "address2"=>"", "address3"=>"", "postal_code"=>"33000", "city"=>"Bordeaux", "_destroy"=>"0", "id"=>"105671"}},

But I need to do multiple nested forms with scopes. Here I define :

@shipping = @user.user_addresses.find_by(name:"shipping")

Then call :

<%= f.fields_for @shipping do |f| %>

My User hash is bad, cause it's not containing user_addresses_attributes :

"user_address"=>{"default"=>"0", "name"=>"billing", "address1"=>"32, rue du Loup", "address2"=>"", "address3"=>"", "postal_code"=>"33000", "city"=>"Bordeaux", "_destroy"=>"0"}},

Any hint ?

1

There are 1 best solutions below

3
Daniel Westendorf On

Tyr passing the name of the relation as a symbol as the first argument to fields_for