1

私はRubyとRailsに非常に慣れていないので、データベースに数値の属性を設定したかったのです。

->番号の最大長は10です。-
>番号は3つの部分に分けられ、各部分は「-」で区切られます。
->左から1番目の部分は2〜7桁、2番目の部分は正確に2桁、3番目の部分は正確に1桁である必要があります。

たとえば、23-56-7
3454-54-3
3435464-54-3は有効な番号ですが、
どうすればよいですか?

4

2 に答える 2

2

まず、文字列データ型を設定する必要があります。http ://www.rubular.com/を使用して、適切な正規表現を使用して検証を行うことができます。 例:23-56-7

validates_format_of     :number, :with => /^[1-9][1-9]-[1-9][1-9]-[1-9]$/
于 2012-04-29T19:06:31.860 に答える
2

状況によって異なりますが、「-」が含まれている場合は数値ではないため、文字列として保存し、作成時に検証することをお勧めします。

これを行うには、データベースまたはRailsの2つの方法があります。Railsモデルから検証することをお勧めします。 http://guides.rubyonrails.org/active_record_validations_callbacks.html

おそらく、検証のために正規表現を使用することをお勧めします。 http://www.rubular.com

そして、あなたが数の計算を実行したいなら、あなたはこのようなことを簡単に行うことができます

yournumber.split('-').map { |x| x.to_i }

これにより、3つの整数の配列が返されます。

于 2012-04-29T18:53:29.513 に答える