活动记录语法说明

目前我正在学习ruby / rails - 我正在阅读的这本书有一种跳过新语法的倾向。 特别是,这一点;

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

从我可以告诉这个方法需要一个符号作为它的第一个参数,看起来像一个符号/数组键/值的单项散列。 这是否正确,如果是这样,为什么我突然能够在这种情况下指定一个没有大括号的散列?


在Ruby方法参数中,放置在普通参数之后但在块之前的任何key =>值对都捆绑到一个散列中。 所以,如果你打电话

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

这意味着my_method被传递了两个参数,一个字符串(“hello”)和一个散列({:something =>“yo!”,:another_thing =>“bah!”})。

除此之外,这可以防止指示散列参数的大括号和表示块的花括号之间的混淆。 它也提供了一种方便的方式来模拟“命名参数”,否则这些参数在Ruby中不存在。

链接地址: http://www.djcxy.com/p/60953.html

上一篇: Active Record syntax explanation

下一篇: How to remove a key from Hash and get the remaining hash in Ruby/Rails?