我有此表存储序列化的对象:

class CachedObject < ActiveRecord::Base
  attr_accessible :key, :data
  validates_uniqueness_of :key
end

数据列存储按键索引的序列化对象。很简单我正在运行以下代码进行测试:
key = "test"
obj = {"test" => "test"}
row = CachedObject.find_or_create_by_key key
row.data = obj.to_json
row.save

正在创建对象,但没有将其保存回数据库。没有错误讯息。我在这里做错了什么?

最佳答案

  • .save返回truefalse.save!引发错误。如果您想知道为什么(某些)详细消息出了问题,请使用.save!
  • 如果key不是唯一的,则数据将不会被保存,因为该模型将无法通过验证。尝试运行Model.where(:key => 'test').destroy_all并重新评估。
  • 关于ruby-on-rails - Rails ActiveRecord对象未保存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18753255/

    10-14 14:58
    查看更多