基本的问题是关于Ruby语法请解释这个Ruby代码(在轨)
class Person < ActiveRecord::Base
validates :name, presence: true #no error
end
我的2个问题
对我来说,这个代码validates :name, presence: true
外观类似于调用方法。
我们如何在任何方法之外调用类体内的方法?我认为它不可能在哎呀。
为什么我收到这两个变化
validates (:name , presence: true) #error
或
validates (:name , {presence: true}) #error
我已经添加了括号的方法调用错误,因为它在红宝石允许的。 第一个参数是符号,第二个参数是散列。
在第一种情况下,我没有添加大括号来散列,因为我读过如果最后一个参数是散列,您可以留下大括号,在第二个代码中,我明确添加了大括号但仍然出错。
任何人都可以解释这种语法。
感谢
编辑1
错误
在第一我越来越
product.rb:8:语法错误,意外 '',预计 ')'验证(:name,presence:true)#error^
In其次我越来越
product.rb:10:语法错误,意外 '',预计 ')',用于验证(:标题,{存在:真})#错误^
你得到了什么错误?你知道你在第一个例子中使用':name',第二个是':title',这与它没有任何关系? – harald
是的,只是作出更正 –
在第一种情况下,我收到此错误。“product.rb:8:语法错误,意外',',期待')'瓦利日期(:名称,在场:真)#错误^“ –