私はかなり単純なルビー構文の質問(および他のいくつかの説明)を持っています、そして私は私の人生のためにそれを理解することができません。
コンテキストは、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}
)
どこかでバックスラッシュを使用して行を分割できることをルビーの慣習で読みましたが、特にコンマまたはオペランドが行の終わり。
私の最後の質問は:
誰かが、適切な中括弧と角かっこをすべて配置して、この検証メソッドを作成できますか?たぶん私は、基本的な構文がどこに行くのかについて少し混乱しています。
簡単な要約:
1行を分割する方法は、上記の検証を適切に行いますか?
バックスラッシュでルビーコードの行を分割できますか?
誰かがすべての中括弧と括弧で書かれた同じメソッドを書きます。
よろしくお願いします。