我有一个相当简单的 ruby 语法问题(以及其他一些说明),我一生都无法弄清楚。
上下文是我有非常常见的模型类子类化 ActiveRecord::Base,并且我正在使用验证。
我相信 Ruby 约定喜欢通过将长段代码分成多行来保持整洁,如果这些行达到 80 行,除非用正则表达式很难做到这一点。我的第一个问题是这样的:
如何正确拆分此验证行以使其正常工作?
validates :email, :uniqueness => true, :length => {:within => 5..50}, :format => {:with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i}
我试过这样的事情:
validates(
:email,
:uniqueness => true,
:length => {:within => 5..50},
:format => {:with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i}
)
我在某处读到 ruby 约定,你可以使用反斜杠分割行,但我还没有尝试过,因为我认为这看起来有点奇怪,特别是当你可以通过确保逗号或操作数位于来利用 Ruby 的力量时行尾。
我的最后一个问题是:
有人可以用所有正确的大括号和括号编写这个验证方法吗?也许我对基本语法的去向有点困惑。
快速回顾:
如何正确拆分上面的单行验证?
你能用反斜杠分割 ruby 代码行吗?
有人用所有大括号和方括号编写了相同的方法。
提前谢谢。