我已经开始研究一些RubyOnRails(来自更多的Java / C#背景),我对于符号的一般共识是什么有一些疑问。
我一直在关注(http://guides.rubyonrails.org/getting_started.html)的Rails教程。 在5.10,他们通过
为他们的文章类添加了一些验证validates :title, presence: true,
length: { minimum: 5 }
但由于validates
只是一种常规方法,我可以写
validates(:title, :presence => true, :length => { :minimum => 5 })
# or
validates(:title, { :presence => true, :length => { :minimum => 5 } })
上述哪种符号是普遍接受的?有什么缺点?
(另外,为什么我会在第二个例子中传递符号,但不会在第一个例子中传递?)
答案 0 :(得分:2)
首选
以下语法validates :title, presence: true,
length: { minimum: 5 }
由于新的1.9哈希语法,你也传入了这个符号。见http://effectif.com/ruby/update-your-project-for-ruby-19-hash-syntax
您可以像这样编写相同的验证方法
validates :title, :presence => true,
:length => { :minimum => 5 }
在这两个示例中,title
,presence
,length
和minimum
都是符号