shimgo
11/6/2016 - 9:44 AM

モデルに設定したバリデーション情報を取得する

モデルに設定したバリデーション情報を取得する

###モデルのカラムに設定したlengthのmaximumを取得する Userモデル

validates :username, presence: true, length: { maximum: 30 }

maximumの取得

User.validators_on(:username).select!{ |u| u.options.has_key?(:maximum) }).first.options[:maximum]

validatorを付与する順番によってvalidators_onで取得する配列の順番が変わるためselect!を使っている。