Le 16 sept. 09 à 22:26, Frédéric Logier a écrit :

>
> Le mercredi 16 septembre 2009 à 13:23 -0700, Meshak a écrit :
>> On 16 sep, 22:03, Frédéric Logier <[email protected]> wrote:
>>>> Finalement j'ai fais :
>>>
>>>> h = Host.find(id)
>>>> h.attributes.update({"attribut1" => "toto", "attribut2" => "tata"})
>>>> h.save
>>>
>>> Bon ça me saoule, le serveur reçoit en paramètres les anciennes  
>>> valeurs
>>> avec les nouvelles dans des array ....
>>
>> Bonjour Frédéric,
>>
>> Je te recommande cette syntaxe qui ne nécessite pas de "save" :
>>
>> my_host = Host.find_by_id(id)
>> my_host.update_attributes({"attribut1" => "toto", "attribut2" =>
>> "tata"}) if my_host
>
> J'ai essayé, mais update_attributes n'existe pas dans ActiveRessource
> http://api.rubyonrails.org/classes/ActiveResource/Base.html
>
> En gros pour faire un update il faut faire un find puis modifier les
> attributs 1 par 1 puis save....

Si tu veux un update_attributes très simple sur ActiveRessource, c'est  
assez simple :

class ActiveResource::Base

   # Method inspired by ActiveRecord
   # it is very simple, and probably won't react as  
ActiveRecord#update_attributes for complex cases and option uses
   def update_attributes(attributes)
     load(attributes).save
   end

end



-- 
Arthur


--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
-~----------~----~----~----~------~----~------~--~---

Répondre à