rta*_*oni 3 ruby activerecord ruby-on-rails instance-variables models
我有以下代码:
def incoming_acceptation(incoming_code)
if invite_code == incoming_code
accepted = true
self.save
true
else
false
end
end
Run Code Online (Sandbox Code Playgroud)
但它没有改变并保存接受为真,它仍然处于以前的状态,是假的.
@i.incoming_acceptation(incoming_code) => true
@i.accepted => false
Run Code Online (Sandbox Code Playgroud)
我建议:
def incoming_acceptation(incoming_code)
update_attribute(:accepted, true) if invite_code == incoming_code
end
Run Code Online (Sandbox Code Playgroud)
update_attribute
将更改并保存该属性.还有update_attributes
(注意s
)接受Hash一次更改多个属性:
@obj.update_attributes(:accepted => true, :accepted_at => Time.now)
Run Code Online (Sandbox Code Playgroud)
注意:当更改和保存成功时update_attribute
,update_attributes
两者都会返回true
,就像在您的示例中一样.
归档时间: |
|
查看次数: |
3608 次 |
最近记录: |