在 models 中
有这样的验证,然后我有小问题:
这样的写法
validates :username, presence: true, aliow_nil: false, uniqueness: true,
跟 这样的写法,
validates :username, :presence => true, :aliow_nil=> false, :uniqueness=> true,
我有点糊涂,这样的代码效果是一样的,ruby 为毛要这么多中写法……
他们直接有什么区别呢。。
楼主的第一种是不是写错了,应该这么写吧
validates :username, presence: true, aliow_nil: false, uniqueness: true
第一种是 ruby1.9 加入的新的 Hash 写法,当 key 为 symbol 类型时,:key => 'value'
可以写成 key: 'value'
,所以二者是等价的。
symbol 永远都是 :symbol, 只有在 hash 中,1.9 有一个语法糖,可以将 :symbol => value 简化成 symbol: value