Bonjour,
est-il possible depuis un client qui utilise activeresource, d’updater
tous les champs d’un model ?
J’arrive à mettre à jour un champs grâce à un find puis un save mais je
n’ai pas trouvé pour le faire en une seule fois sur tous les champs.
Le mercredi 16 septembre 2009 à 15:46 +0200, Frédéric Logier a écrit :
Bonjour,
est-il possible depuis un client qui utilise activeresource, d’updater
tous les champs d’un model ?
J’arrive à mettre à jour un champs grâce à un find puis un save mais je
n’ai pas trouvé pour le faire en une seule fois sur tous les champs.
Finalement j’ai fais :
h = Host.find(id)
h.attributes.update({“attribut1” => “toto”, “attribut2” => “tata”})
h.save
Le mercredi 16 septembre 2009 à 21:01 +0200, Frédéric Logier a écrit :
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 …
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
Je devine ton besoin, mais il nous faudrait quelques bouts de code
pour pouvoir t’aider : le formulaire dans ta vue, la méthode de ton
controleur.
–
Julien Vignolles
Le mercredi 16 septembre 2009 à 13:23 -0700, Meshak a écrit :
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…
Le 16 sept. 09 à 22:26, Frédéric Logier a écrit :
valeurs
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
Le jeudi 17 septembre 2009 à 11:26 +0200, Arthur Pétry a écrit :
def update_attributes(attributes)
load(attributes).save
end
end
En effet ça fonctionne, plus joli je trouve.
Le 17 sept. 09 à 12:56, Frédéric Logier a écrit :
En effet ça fonctionne, plus joli je trouve.
Si tu as d’autres question sur ActiveResource n’hésite pas, en ce
moment j’en bouffe
–
Arthur