以下が Rails 3 で機能しない理由がわかりません。「未定義のローカル変数またはメソッド `custom_message'」エラーが発生します。
validates :to_email, :email_format => { :message => custom_message }
def custom_message
self.to_name + "'s email is not valid"
end
rails-validation-message-error の投稿で提案されていたように、代わりに :message => :custom_message を使用してみましたが 、うまくいきませんでした。
:email_format は、lib フォルダーにあるカスタム バリデーターです。
class EmailFormatValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value =~ /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i
object.errors[attribute] << (options[:message] || 'is not valid')
end
end
end