Я ищу 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
мне интересно, что лучший способ, чтобы преобразовать поле электронной почты для выводимого URL из метода gravator.
Спасибо за помощь!
Почему бы вам не рассчитать хэш (например, в 'before_save')? –
Прежде всего, я могу отправить сообщение пользователю, если необходимо. Хотя я мог бы создать новое поле в базе данных, содержащее хешированное значение. – Allister
Я бы добавил дополнительное поле, чтобы сохранить хэш или полный url Gravatar и предварительно рассчитать его, как сказал Серджио. Таким образом, вам не нужно будет хешировать его каждый раз, когда он отображается и все еще имеет доступ к исходному адресу электронной почты. – Bitterzoet