概要:カスタムバリデータ内で属性の値を変更しようとしています。ActiveModel::EachValidator
次のプロトタイプがあるとします。
def validate_each(record, attribute, value)
設定しようとしてvalue = thing
も何もしないようです - 何か足りないのですか? これを行うには賢い方法があるはずです...
詳細: サイトの一部として URL の入力を受け付けます。URL を取得して、それがメッセージを返すことを直接検証したくありません。これは、200 OK
で始まらないエントリhttp
や先頭の を省略したエントリwww
などを無視するためです。これらのエラーに対処するためのカスタム ロジックがいくつかあり、リダイレクトに従います。したがって、ユーザーがexample.org/article
.ではなくhttp://www.example.org/article
. ロジックは検証内で適切に機能しますが、問題は、誰かが前者を入力すると、データベースに格納された値が適切に更新されたものではなく、「間違った」形式になることです。検証中にエントリをより正規の形式に変更できますか?