1

コンペティション モデルとコンペティション エントリ モデルがあります。前者にはフォームと、管理者ユーザーが入力しないと表示されないオプションの「質問」フィールドが含まれています。

コンペティション エントリ モデルには、質問が存在する場合にのみ検証する必要がある「回答」フィールドが含まれていますが、それを達成する方法がわかりません。

4

1 に答える 1

1

メソッドで条件付きの検証を行い、そのメソッドで関連するモデルをチェックできます。

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

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

条件付き検証に関する Railscast !

于 2013-04-26T11:33:41.773 に答える