我有一個相當簡單的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