如何在我想用Ruby on Rails发送的电子邮件中插入我的gravatar图像?根据Gravatar我需要在Ruby on Rails应用程序中插入以下代码:
image_src = "http://www.gravatar.com/avatar/#{hash}"
哈希本质上是电子邮件地址的编码字符串。哈希等于:
hash = Digest::MD5.hexdigest(email_address)
我创建了一个名为" gravatarurl"的方法,您可以在下面看到:
def gravatarurl
hash = Digest::MD5.hexdigest("myemail@google.com")
puts "http://www.gravatar.com/avatar/#{hash}"
end
现在,邮件中的代码是:
def emailwithphoto
@user1 = User.find(1)
mail(to: "#{@user1.email}",
from: "MNC@mydomain.com",
subject: "Attempting to include image in this email")
end
在文件app / views / image_mailer / emailwithphoto.rb中我有代码:
<img alt="" src="<%= @user1.gravatarurl %>" class="mcnImage">
如果我将我的gravatar url硬编码到文件&#34; emailwithphoto.rb&#34;然后我可以看到我的gravatar照片,但我需要电子邮件是动态的。
我错过了什么或没看到什么?提前感谢您的帮助!
答案 0 :(得分:1)
我更改了方法gravatarurl中的代码。我更改了“put”并将其替换为“return。这是方法gravatarurl的新代码:
def gravatarurl
hash = Digest::MD5.hexdigest("myemail@google.com")
return "http://www.gravatar.com/avatar/#{hash}"
end
现在我可以在电子邮件中使用Gravatar图像了。
答案 1 :(得分:0)
您应该gravatarurl
模型中有user
,然后拨打@user1.gravatarurl
而不是@image1.gravatarurl