Modifier plusieurs attributs d'un objet dans une seule ligne

Je me demandais, lorsque vous créez un objet bien souvent, vous pouvez définir plusieurs attributs en une seule ligne, par exemple:

 @object = Model.new(:attr1=>"asdf", :attr2 => 13, :attr3 => "asdfasdfasfd")

Que faire si je veux utiliser find_or_create_by d'abord, et ensuite modifier d'autres attributs plus tard? En général, je dois utiliser plusieurs lignes par exemple:
@object = Modèle.find_or_create_by_attr1_and_attr2("faa", 13)
@objet.attr3 = "asdfasdf"
@objet.attr4 = "asdf"

Est-il possible de définir des attributs à l'aide d'un algorithme de hachage similaire à la façon dont le Modèle.nouvelle méthode accepte les paires clé-valeur? Je suis intéressé par ce parce que je serais en mesure de définir plusieurs attributs sur une seule ligne, comme:

 @object = Model.find_or_create_by_attr1_and_attr2("asdf", 13)
 @object.some_method(:attr3 => "asdfasdf", :attr4 => "asdfasdf")

Si quelqu'un a des idées, ce serait génial!

InformationsquelleAutor jay | 2012-03-17