私の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