activerecord无法更新数据库的问题

问题是这样的,在对象改变了几个属性后,调用 save 方法,但是却没有更新数据库。
ruby代码如下:

@@log.debug "before save \ttm.s1=#{tm.s1}\ttm.s2=#{tm.s2}\tfs[14]=#{fs[14]}\tfs[15]=#{fs[15]}\ttm.overf=#{tm.overf}"
tm.s1 = fs[14]
tm.s2 = fs[15]
tm.overf = 1
@@log.debug "after assign \ttm.s1=#{tm.s1}\ttm.s2=#{tm.s2}\tfs[14]=#{fs[14]}\tfs[15]=#{fs[15]}\ttm.overf=#{tm.overf}"
tm.save
tm.reload
@@log.debug "after save \ttm.s1=#{tm.s1}\ttm.s2=#{tm.s2}\tfs[14]=#{fs[14]}\tfs[15]=#{fs[15]}\ttm.overf=#{tm.overf}"

tm 的 get 就没写上来了
log4r打在console上的内容如下:
------------
DEBUG : before save tm.s1=-1 tm.s2=-1 fs[14]=1 fs[15]=0 tm.overf=0
DEBUG : after assign tm.s1=1 tm.s2=0 fs[14]=1 fs[15]=0 tm.overf=1
DEBUG : after save tm.s1=-1 tm.s2=-1 fs[14]=1 fs[15]=0 tm.overf=0
------------
在log/development.log里有这样的记录:
-------------
[4;36;1mSQL (0.000000)[0m [0;1mBEGIN[0m
[4;35;1mSQL (0.000000)[0m [0mCOMMIT[0m
-------------
这个问题让我头疼了几天了,一直没明白。。。
尝试改用
ActiveRecord::Base.connection.execute

来做,有带来了其他问题:他把我设计的一个允许NULL的datetime字段自动填充当前时间了。。。
值得一提的是,在另外一个project下,并没有出现上述问题。

请各位赐教,谢谢了。

其他描述

数据库 mysql

ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

rails -v
Rails 2.1.0

gem -v
1.0.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值