나는 이름과 설정이있는 간단한 사용자 모델을 가지고 있습니다. 사용자 AREL을 저장할 때마다 설정 열을 업데이트합니다. 예 :루비 온 레일즈는 매 시간마다 일련 화 된 속성을 업데이트합니다.
user = User.find_by_name('kevin')
user.save
(0.3ms) UPDATE "users" SET "updated_at" = '2011-10-20 19:58:06.363541', "settings" = '--- {}' WHERE "users"."id" = 1
save를 호출 할 때 다른 필드가 업데이트되지 않습니다. 이 예상되는 동작입니까? 업데이트를 수행하는 이유는 무엇입니까? 직렬화 된 내용이 변경되지 않은 경우 변경되지 않도록 해제 할 수 있습니까? 이것은 예상되는 동작
http://cl.ly/0p0j3Z3Y0L1x1I1p3Z0g
당신이 위의 첫 번째 행 다음에 즉시 호출하면'user.changes'의 출력은 무엇인가 :
는 다음 (루비 1.8.7) IRB 세션을 고려? 속성에 대한 클래스를 지정하면 어떻게됩니까? 예 : 'serialize : settings, Hash'? –
@Hordan이 '해시'를 지정하면 도움이되지 않습니다. 'User.changes'는 빈 해시를 반환합니다. –