4

t.integer size(1) and size(2). 2つの列があり、最大サイズ1(つまり、最大9)と最大サイズ2(つまり、最大99)として宣言する必要があります。移行スクリプトでこれをどのように宣言する必要がありますか。

4

2 に答える 2

17

その列の値を1〜99の範囲に制限する必要があるということですか?

整数列を作成したら、ActiveRecord検証をモデルに追加できます。

validates_numericality_of :field_name, :in => 1..99
于 2012-11-21T17:24:27.370 に答える
-7

移行レコードに:limitを設定できるはずです。こちらのドキュメントを確認してください-http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html#method-i-column

例:add_column:my_tbl、:myint、:integer、:limit => 9

これにより、列の長さが設定されます。つまり、最大9桁の整数のみが許可されます。

この列のデータ入力を制限する場合は、モデルで検証を行う必要があります。http://guides.rubyonrails.org/active_record_validations_callbacks.html#lengthをご覧ください

于 2012-11-21T17:21:24.027 に答える