Ruby on rails update#U all工作,但update#U属性不工作';T

Ruby on rails update#U all工作,但update#U属性不工作';T,ruby-on-rails,validation,update-attributes,update-all,Ruby On Rails,Validation,Update Attributes,Update All,以下两个代码用于更新数据库 使用“update_attributes”属性的第一个版本不起作用 @existing_exp = Emiexperiment.find(:first, :conditions => [ "EMI_COM_ID = ? and EMI_SUB_FK = ?", "EMI_999", "7789"]) @existing_exp.update_attributes( :EMI_STATUS => "pre

以下两个代码用于更新数据库

使用“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"]
以下是EMI表达式的类代码:

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
class“EMI\u sub\u FK”
结束
我不明白为什么会这样

我没有在我的“EMI实验”模型中使用任何验证


任何关于这一点的暗示都将不胜感激。非常感谢您的帮助:)

对于这些字段,您可能需要
attr\u accessor
attr\u accessor
是一种ruby方法,它可以生成getter和setter。

attr\u accessible
是一种Rails方法,允许您将值传递给批量分配:,例如
update\u attributes(attrs)

您可以指定Rails版本吗?请展开“not working”,是否收到错误?另外,请显示创建@existing\u emissor的代码。如果它应该是“@existing\u exp”,请进一步澄清,如果在
attr\u访问器
中未调用的属性被传递到
update\u attributes
方法中,则将忽略这些属性。谢谢您的建议,我将尝试一下