kid*_*rew 5 activerecord ruby-on-rails
我有这个存储序列化对象的表:
class CachedObject < ActiveRecord::Base
attr_accessible :key, :data
validates_uniqueness_of :key
end
Run Code Online (Sandbox Code Playgroud)
数据列存储由key索引的序列化对象.很简单.我正在运行此代码来测试:
key = "test"
obj = {"test" => "test"}
row = CachedObject.find_or_create_by_key key
row.data = obj.to_json
row.save
Run Code Online (Sandbox Code Playgroud)
该对象正在创建,但它不会保存回数据库.没有错误消息.我在这做错了什么?
One*_*ude 11
.save返回true或false..save!引发错误.如果您需要知道某些(有些)详细消息出现问题的原因,请使用.save!.
如果key不是唯一的,则不会保存数据,因为模型不会通过验证.尝试运行Model.where(:key => 'test').destroy_all并重新评估.