Railsを使用してオブジェクトの配列内の各オブジェクトをどのように検証しますか?RubyOnRailsを使用したjsonbオブジェクトの配列内のオブジェクトの検証
私はRailsアプリケーションでユーザープロフィールフォームを作成しています。ユーザーモデルの中には、基本的な文字列属性がありますが、いくつかのjsonbフィールドもあります。 JSONbフィールドのデフォルト値は[]
です。その属性内にオブジェクトの配列を格納したいからです。ここでユーザの簡易モデルの一例は、属性れる:
[{
school: 'Harvard university',
degree: 'Computer Science',
from_date: 'Tue, 11 Jul 2017 16:22:12 +0200`,
to_date: 'Tue, 11 Jul 2017 16:22:12 +0200'
},{
school: 'High school',
degree: 'Whatever',
from_date: 'Tue, 11 Jul 2017 16:22:12 +0200`,
to_date: 'Tue, 11 Jul 2017 16:22:12 +0200'
}]
ユーザーでなければならない:
name: string
email: string
education: jsonb, default: []
教育のようなオブジェクトの配列でありますクリックすることができますschoを追加olボタン、jqueryでさらにフィールドを追加します。そのjqueryの部分はこの質問にとって重要ではありません - 私たちがオブジェクトの配列を使用した理由を説明するだけかもしれません。
教育用配列の各項目をどのように検証すると、有効なエラーを含むテキストフィールドに赤色のマークを付けることができますか?私は、FormObjectパターンを使用するとここで助けになるとアドバイスを受けました。私もActiveModel::Validator
クラスから継承したカスタムバリデーターを作成しようとしましたが、主な問題は実際には配列であり実際のオブジェクトではないことにあります。
ありがとうございました。