로그 정보와 함께 다음 코드가 있습니다. global_id 값은after_create 콜백이 올바르게 작동하지 않는 것 같습니다.
이이 하나가
코드 작동 attr_accessible로 설정 :
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
이 하나가되지 않습니다 내가 왜 모르겠어요. 어떤 아이디어 :
코드 :
는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