我正在尝试使用 update_attributes 和 accept_nested_attributes_for 从父母(位置)控制器更新一些子对象(days_events)。
params hash 中的一切看起来都不错,但是当我尝试使用 assign_attributes 或 update_attributes 时,实际日期没有得到更新。第一天的事件记录在数据库中成功创建,因为它应该使用 event_id 和 location_id 但 start_date 和 end_date 字段为空.
日期字段也没有任何模型限制。
这是我的位置(父)控制器中的代码:
def update
logger.debug('PARAMS HASH********'+params.to_s)
@total_forms=params[:total_forms].to_i
@current_form=params[:current_form].to_i
@location = Location.find(params[:id])
@location.update_attributes(params[:location])
end
这是我的参数哈希:
{
"utf8"=>"Γ£ô",
"_method"=>"put",
"authenticity_token"=>"Mz2GzRmqxrygy01d2LdkE6ZZY+fJK1PSlVhFKlVUme8=",
"location"=>{
days_events_attributes"
=>{
"0"=>{
"start_date"=>"03/14/2013",
"end_date"=>"03/14/2013",
"_destroy"=>"false",
"event_id"=>"588"
}, "
1"=>{"
start_date"=>"",
"end_date"=>"",
"_destroy"=>"1",
"event_id"=>"588"
},
"2"=>{
"start_date"=>"",
"end_date"=>"",
"_destroy"=>"1",
"event_id"=>"588"
}
}
},
"total_forms"=>"2",
"current_form"=>"0",
"commit"=>"Add Date s for Next Location",
"action"=>"update",
"controller"=>"locations",
"id"=>"871"
}