在我的circuit.rb
课堂上,我有以下内容
class Circuit < ActiveRecord::Base
after_create :create_service
def create_service
# create service record
service = Service.new :service_type => 'Circuit', :child_id => self.id, :organisation_id => self.organisation_id
end
我只希望回调在circuit
创建时触发,我也尝试过before_validation
,日志中没有错误,事实上,没有提到services
被触摸的表,我也重新启动了服务器,只是作为预防措施,但没有确定为什么service
没有保存实例。
为了完整性:
class CircuitController < ApplicationController
def update
...
if request.post?
if @circuit
# update
else
# attempt create
@circuit = Circuit.new params[:circuit]
if @circuit.save
redirect_to :action => 'update', :id => @circuit.id
end
end
end
end
end
此外,表中的所有列都允许NULL
,除了无论如何都存在的id
列,AUTO_INCREMENT
因此数据库端没有任何内容会阻止保存记录,同样,模型中没有验证并且circuit
正确保存。