4

rails docs に示されているように、単純な条件に基づいてモデル属性を検証しようとしています。ブール値の「show_birthday」属性を持つクイズ モデルと、誕生日属性を持つ参加者モデルがあります。私のコードの関連部分は次のとおりです。

class Participant < ActiveRecord::Base
    belongs_to :quiz
    validates :birthday, presence: true, :if => :has_birthday?

    def has_birthday?
        quiz.show_birthday?
    end
end

if 条件を外せばバリデーションは動くのですが、 has_birthday? の中の部分を変えても動きません。メソッドを「true」にします。これが機能しない理由についてのアイデアはありますか?

4

0 に答える 0