我在另一個模型控制器中構建模型的實例。所有似乎都正常工作,子實例很好地創建與父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