/ / Explication de la syntaxe Active Record - débutant - ruby-on-rails, ruby

Explication de la syntaxe Active Record - débutant - ruby-on-rails, ruby

Je travaille actuellement sur l'apprentissage de ruby ​​/ rails - Le livre que je lis a eu tendance à ignorer des éléments de la nouvelle syntaxe. En particulier, ce bit;

person = Person.find(:first, :conditions => ["name = ?", "Mikey"])

D'après ce que je peux dire, cette méthode prend un symbolecomme premier argument et ce qui ressemble à un hachage à un élément avec une clé / valeur de symbole / tableau. Est-ce correct et dans l'affirmative, pourquoi suis-je soudainement en mesure de spécifier un hachage sans accolades {} dans ce contexte?

Réponses:

4 pour la réponse № 1

Dans les paramètres de la méthode Ruby, toute paire clé => valeur placée après les arguments normaux, mais avant un bloc, est regroupée dans un seul hachage. Donc si vous avez appelé

my_method("hello", :something=>"yo!", :another_thing=>"bah!")

cela veut dire que my_method deux arguments sont passés, une chaîne ("hello") et un hachage ({: quelque chose => "yo!",: another_thing => "bah!"}).

Entre autres raisons, cela évite la confusionentre des accolades indiquant un paramètre de hachage et des accolades indiquant un bloc. Il constitue également un moyen pratique de simuler des "paramètres nommés", qui n'existent pas autrement en Ruby.