私は2つのモデルを持っています:ユーザとレッスン。私は管理者であるユーザーにレッスンを割り当てたいだけです。関連付けられたレコードに基づく検証
これを確認する最も良い方法は何ですか?
class BelongsToAdminValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value.admin?
object.errors[attribute] << (options[:message] || "must belong to an admin")
end
end
end
しかし、これは言ってRSPECにつながる:
undefined method `admin?' for nil:NilClass
理にかなって私は現在、そのようなカスタムバリデータを作成しようとしています。
これを行うにはカスタムバリデーターが最適ですか?または、割り当てられたユーザーがコントローラの管理者であるかどうかを確認する必要がありますか?
'admin'は' User'で定義されたメソッドですか?多分それは 'object.admin? – zetetic
これはブール値で、自動的に "?"方法。 –