在Ruby on Rails教程中,我被要求输入:
class Post < ActiveRecord::Base
validates :name, :presence => true
validates :title, :presence => true, :length => { :minimum => 5 }
end
我明白这是做什么的,但我想知道=&gt;运营商是。在PHP-land中,它链接键和关联数组中的值。这是一回事吗?它是Ruby运算符还是Rails运算符?
答案 0 :(得分:23)
主要是一个ruby运算符,它在哈希中设置键的值。因此:
{ :minimum => 5 }
是一个ruby散列,其符号为:minimum作为映射到值为5的键。在此示例中为一个条目的散列。同样的:
:presence => true
仍然是哈希。但是,在ruby中,当你有一个方法时,你可以省略哈希周围的{}。这就是验证方法所发生的情况。这是一个方法,因此传递的哈希不明确需要{}。