我可能遗漏了一些明显的东西,但是当我尝试保存一个对象时,它不会在数据库中更新。我可以插入对象。这是我的模型。我可以在用户模型上正确地做所有事情,我只是对争议模型有问题。
class Dispute < ActiveRecord::Base
attr_accessible :reason
belongs_to :user
end
class User < ActiveRecord::Base
attr_accessible :name, :email
has_many :disputes
end
然后我尝试...
d = Dispute.new
d.save # This works, it is inserted correctly
BEGIN
INSERT
COMMIT
d.reason = "This is a reason"
d.save # This doesn't work
BEGIN
COMMIT
d.reason = "This is a different reason"
d.changed?
true
d.save
BEGIN
COMMIT
不知道我错过了什么。我确实简化了一点。我在这个项目中有许多其他对象,它们都工作得很好。
d.update_attributes( :reason => "This is a reason" )
这也表现相同,它不更新数据库中的记录,但它返回 true。