私はRubyとRailsに非常に慣れていないので、データベースに数値の属性を設定したかったのです。
->番号の最大長は10です。-
>番号は3つの部分に分けられ、各部分は「-」で区切られます。
->左から1番目の部分は2〜7桁、2番目の部分は正確に2桁、3番目の部分は正確に1桁である必要があります。
たとえば、23-56-7
3454-54-3
3435464-54-3は有効な番号ですが、
どうすればよいですか?
私はRubyとRailsに非常に慣れていないので、データベースに数値の属性を設定したかったのです。
->番号の最大長は10です。-
>番号は3つの部分に分けられ、各部分は「-」で区切られます。
->左から1番目の部分は2〜7桁、2番目の部分は正確に2桁、3番目の部分は正確に1桁である必要があります。
たとえば、23-56-7
3454-54-3
3435464-54-3は有効な番号ですが、
どうすればよいですか?
まず、文字列データ型を設定する必要があります。http ://www.rubular.com/を使用して、適切な正規表現を使用して検証を行うことができます。 例:23-56-7
validates_format_of :number, :with => /^[1-9][1-9]-[1-9][1-9]-[1-9]$/
状況によって異なりますが、「-」が含まれている場合は数値ではないため、文字列として保存し、作成時に検証することをお勧めします。
これを行うには、データベースまたはRailsの2つの方法があります。Railsモデルから検証することをお勧めします。 http://guides.rubyonrails.org/active_record_validations_callbacks.html
おそらく、検証のために正規表現を使用することをお勧めします。 http://www.rubular.com
そして、あなたが数の計算を実行したいなら、あなたはこのようなことを簡単に行うことができます
yournumber.split('-').map { |x| x.to_i }
これにより、3つの整数の配列が返されます。