以下两个代码用于更新数据库。update_all有效,但update_attributes不是
第一个版本,它采用了“update_attributes方法”属性不工作
@existing_exp = Emiexperiment.find(:first, :conditions => [ "EMI_COM_ID = ? and EMI_SUB_FK = ?", "EMI_999", "7789"])
@existing_exp.update_attributes(
:EMI_STATUS => "present",
:EMI_ADD_STATUS => "weak"
)
但是,下面的代码,它使用了“update_All”属性似乎工作的伟大。
Emiexperiment.update_all "EMI_STATUS = 'present', EMI_ADD_STATUS = 'moderate'", ["EMI_COM_ID = ? and EMI_SUB_FK = ?", "EMI_999", "7789"]
下面是Emiexpression类代码:
class Emiexperiment < ActiveRecord::Base
set_table_name "EMI_EXPERIMENT"
set_primary_key "EMI_OID"
attr_accessible :EMI_STATUS, :EMI_ADD_STATUS, :EMI_COM_ID, :EMI_SUB_FK
belongs_to :sub, :foreign_key => "EMI_SUB_FK"
end
我很困惑,为什么会这样。
我没有在我的'Emiexperiment'模型中使用任何验证。
对此的任何提示都非常感谢。很多很多谢谢你的帮助:)
你能指定Rails版本吗? – lucapette
请展开“不工作”,你是否收到错误?还请显示创建@existing_EMI的代码 –
对不起,应该是'@existing_exp' – tanya