タイプが「スケジュール済み」の場合にスケジュールが必要なモデルPersonがあります。そのコントローラー(から継承しInheritedResources::Base
ます):
def create
super do
@person.schedule = Schedule.create params[:schedule] if @person.scheduled?
end
end
問題は、「スケジュールされた」タイプのすべての人がスケジュールを持っていることを検証したいということです。このようなもの:
validates :schedule, :presence => true, :if => :scheduled?
Personモデルで。ただし、Personをスケジュールbelongs_to
するため、自分自身を作成する前にPersonを作成する必要があります(そのため、PersonはIDを持ちます)。したがって、これが私のコントローラーにあると、スケジュールを後で作成する必要があるため、個人の検証は失敗します。
Railsに私が知らない何かがありますか?それは私がこれらの検証を実行することを可能にしますか?を使用accepts_nested_attributes_for
した場合、これらの検証に合格できますか?