我有一个相当简单的ruby语法问题(以及其他一些说明),而且我无法弄清楚它是否适合我的生活。Ruby on Rails验证方法结构
上下文是我有相当常见的模型类子类ActiveRecord :: Base,我正在使用验证。
我相信Ruby惯例通过将多行代码分割成多行来保持整洁,除非像一个正则表达式那样很难完成这些操作。我的第一个问题是这样的:
我该如何正确分离这个验证线,以便它能正常工作?
validates :email, :uniqueness => true, :length => {:within => 5..50}, :format => {:with => /^[^@][\w.-][email protected][\w.-]+[.][a-z]{2,4}$/i}
我已经试过了诸如:
validates(
:email,
:uniqueness => true,
:length => {:within => 5..50},
:format => {:with => /^[^@][\w.-][email protected][\w.-]+[.][a-z]{2,4}$/i}
)
我在Ruby中约定读的地方,你可以分割使用反斜杠行,因为我认为,想看看我没有尝试它尚未有点奇怪,尤其是当你可以通过确保逗号或操作数位于行末时利用Ruby的强大功能。
我的最后一个问题是:
可能有人写这个验证方法与地方的所有适当的括号和括号?也许我有点困惑,基本语法到底在哪里。
快速回顾:
如何拆分单行验证上面的正确?
你可以用反斜杠分割红宝石代码行吗?
有人用所有大括号和括号写出了相同的方法。
提前致谢。
使用反斜线来逃避行尾字符现在被认为是不好的做法。否则,你的validates方法看起来很好。把你的时间花在更有意义的事情上。 – maprihoda 2011-12-13 21:54:59
你是说如果你用逗号分割这一行而没有括号,它会抛出一个语法错误?如果是这样,你可以发布错误吗? – 2011-12-13 21:57:59