1
我正在尋找MD5在從Rails模型輸出之前散列電子郵件地址。目前我的模式看起來像這樣:輸出之前的散列值
class Comment < ActiveRecord::Base
belongs_to :post
attr_accessible :body, :name, :reply, :email
validates_presence_of :body, :name
def gravator
require 'digest/md5'
email_address = self.email.downcase
# create the md5 hash
hash = Digest::MD5.hexdigest(email_address)
# compile URL which can be used in <img src="RIGHT_HERE"...
self.email = "http://www.gravatar.com/avatar/#{hash}"
end
end
我想知道什麼是最好的方式,以電子郵件字段從gravator方法轉化爲輸出的URL。
感謝您的幫助!
爲什麼不預先計算散列(例如'before_save')? – 2013-03-04 12:20:25
主要是我可以在需要時通過電子郵件發回給用戶。儘管我可以在包含哈希值的數據庫中創建一個新字段。 – Allister 2013-03-04 12:22:12
我會添加一個額外的字段來保存哈希或完整的Gravatar網址,並像塞爾吉奧所說的那樣預先計算它。這樣,每次顯示時都不需要對其進行散列,並且仍然可以訪問原始電子郵件地址。 – Bitterzoet 2013-03-04 12:28:41