2009-08-20 8 views

Répondre

7

Rendez-les 'attributs imbriqués'. The documentation dit:

Tenir compte un modèle membre qui a un Avatar:

class Member < ActiveRecord::Base 
    has_one :avatar 
    accepts_nested_attributes_for :avatar 
    end 

...

vous permet de mettre à jour l'avatar par le membre:

params = { :member' => { :avatar_attributes => { :id => '2', :icon => 'sad' } } } 
    member.update_attributes params['member'] 
    member.avatar.icon # => 'sad' 
1

Comme bjelli a a déclaré que c'est la méthode accepts_nested_attributes_for que vous voulez probablement ici. Il est important de noter que c'est la transmission de l'attribut: id du profil qui lui permet de reconnaître qu'il s'agit d'une mise à jour que vous voulez effectuer.

Je recommanderais de lire ceci les commentaires nested_attributes.rb pour comprendre plus:)

Questions connexes