1
我有一个模型,某些记录必须在用户输入后自动填充。Rails模型before_save与MD5摘要
然后我用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和网址也不会被保存,我想我错过了什么。也许我必须在方法中明确地调用save
?
我可以做一个变通方法与after_save
和手动回拨模式,但当然,这创造一个无限循环......
感谢您的答案,它的工作原理!我知道我错过了一些东西;) – damoiser