私のレールモデルには、ある種のテンプレートシステムがあります。編集するユーザーが偶発的な間違いを犯さないようにしたいので、いくつかの単純なバリデーターを使用します。
##user_id##彼らは後で置き換えられるようなマーカーを使用できます。###user_id##が多すぎるようなものを入力しないようにしたい#ので、フィールドに###(または####) を入力してはいけません。
class Template
validates_format_of :text, :with => /##user_id##/,
:message => "##user_id## must be present"
validates_format_of :text, :not_with => /###/,
:message => "Too many #"
end
残念ながら:not_withオプションはありません...-regexを使用して解決する機会はありますか、それとも:with別のvalidate方法を使用する必要がありますか?
私はいくつかの否定的な先読みを試みましたが、(ほとんど) いくつか##あり、1 つしかない###ため、それらは常にそれらの 1 つと一致します。