ログ情報に次のコードがあります。after_createコールバックが正しく動作していないようです。
Location.update(model[:id],:global_id => gi[:id])
ログ
before location save
Location Load (0.3ms) SELECT `locations`.* FROM `locations` WHERE `locations`.`id` = 280 LIMIT 1
(0.3ms) UPDATE `locations` SET `global_id` = 11490, `updated_at` = '2012-02-16 04:48:17' WHERE `locations`.`id` = 280
after location save
この1つは、私がなぜわからないしない:global_id値は、この1つは
コードを作品
をattr_accessibleするように設定されています。任意のアイデア:
コード:
User.update(model[:id],:global_id => gi[:id])
ログ:
here is more info
here i am and I am a user
User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 31 LIMIT 1
(0.3ms) SELECT 1 FROM `users` WHERE (`users`.`email` = BINARY '[email protected]' AND `users`.`id` != 31) LIMIT 1
after my user update
この第二のいずれかが動作しない理由を任意のアイデア?私はあなたには、いくつかの種類が失敗しているからだと推測していた場合は
class SaveGlobalInfo < ActiveRecord::Base
def self.after_create(model)
gi=GlobalIdentification.create()
if (model.class.name=='Location')
puts "before location save"
Location.update(model[:id],:global_id => gi[:id])
puts "after location save"
elsif (model.class.name=='User')
puts "here i am and I am a user"
User.update(model[:id],:global_id => gi[:id])
puts "after my user update"
end
上記の編集#1に追加されたものは、何が起こっているのかわかりません – timpone