{"ja" => "日本語コンテンツ", "en" => "English Contents"}
のようなハッシュで入力データを持っていて
各要素に対して標準のバリデーションをかけることはできないでしょうか
例えばそれぞれの入力の長さをバリデーションする場合
モデル
validates :contents, hash: {length: {maximum: 64}}
カスタムバリデーション
class HashValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) # バリデーションメソッド value.each{|k,v| # v に対して options = (length: {maximum: 64}) のバリデーションを呼びだしたい } end end
のような感じでかく方法があれば教えていただけるとありがたいです
あなたの回答
tips
プレビュー