验证Rails中有条件显示的字段

时间:2013-04-26 10:10:46

标签: ruby-on-rails validation models

我有一个比赛和比赛入场模型,前者包括一个表格和一个可选的"问题"如果管理员用户没有填写,则不显示该字段。

竞赛条目模型包括"答案"如果问题存在,只需要验证的字段,但我不确定如何实现 - 是否有办法利用他们拥有的belongs_to / has_many关联?

1 个答案:

答案 0 :(得分:1)

您可以使用方法进行验证,并在该方法中检查关联的模型。

class CompetitionEntry  < ActiveRecord::Base
  validates :answer, :presence => true, :if => :validate_answer?

  def validate_answer?
    !self.competition.question.blank?
  end
end

A railscast about conditional validations