我有一个模型,用户输入后必须自动填写一些记录。
然后我使用before_save
了回调,但记录不会被存储。
这是我的模型:
before_save :create_relation_plus_md5
has_many :bridges
attr_accessible :id, :admin_user_id, :md5, :url, :name, :cBox
validates_presence_of :name
validates_uniqueness_of :name
def create_relation_plus_md5
baseUrl = "http://www.mysite.com/?id="
digest = Digest::MD5.hexdigest("#{name}#{id}#{someOtherData}")
puts "digest : #{digest}"
md5 = digest
url = "#{baseUrl}#{digest}"
# + create relations
end
md5 和 url 不会被存储,我想我错过了一些东西。也许我必须save
在方法中显式调用?
我可以解决方法after_save
并手动回调模型,但这自然会创建一个无限循环......