我在另一个模型控制器中构建模型的实例。所有似乎都正常工作,子实例很好地创建与父ID,但只要我在此资源添加验证parent_id,该实例不再有效。任何想法我失踪?构建嵌套资源的验证失败构建
使命模型:
class Mission < ActiveRecord::Base
has_many :planned_times
validates :code, presence: true, uniqueness: { case_sensitive: false }
validates :days_sold, presence: true
end
PlannedTime型号:
class PlannedTime < ActiveRecord::Base
belongs_to :mission
validates :date, presence: true
validates :mission_id, presence: true # this is the validation which causes problem
end
使命控制器:
class MissionsController < ApplicationController
def create
@mission = Mission.new(mission_params)
week_nums = params[:weeks].split(/[\s]*[,;\-:\/+][\s]*/).uniq
year = params[:year].to_i
week_nums.each do |week_num|
date = Date.commercial(params[:year].to_i,week_num.to_i)
@mission.planned_times.build(date: date)
end
if @mission.save
flash.now[:success] = "Mission added"
end
end
private
def mission_params
params.require(:mission).permit(:code, :days_sold)
end
end
好的我现在明白了。谢谢。我想创建一个有或没有计划时间的任务,但计划时间应该始终有一个任务。 – Antoine