質問のタイプが「選択」または「チェックボックス」の場合にのみ、タイトルの存在を検証する必要があります。
class Answer < ActiveRecord::Base
belongs_to :question
attr_accessible :title
validate :need_title?
private
def need_title?
errors.add(:need_title, "")) if
((question.type_of_answer == 'select' || question.type_of_answer == 'checkboxes') && title.blank?)
end
end
class Question < ActiveRecord::Base
has_many :answers
accepts_nested_attributes_for :answers, :allow_destroy => true
validates_presence_of :title
end
しかし、オブジェクトを作成すると、次の例外が発生します。
NoMethodError: undefined method `type_of_answer' for nil:NilClass
検証中になぜ入ってquestion
いるのですか?nil
Answer#need_title?