Gravatar 显示哈希而不是图片

Gravatar shows hash instead of picture

提问人:Christopher Wippel 提问时间:6/25/2020 更新时间:6/25/2020 访问量:135

问:

我想使用 Gravatar 在我的平台上显示图片,但我只看到 MD5 哈希值,而不是这样做。

这是我的“application_helper.rb”代码

def avatar_url(user)
    gravatar_id = Digest::MD5::hexdigest(user.email).downcase
    "https//www.gravatar.com/avatar/#{gravatar_id}.jpg?d=identical&s=150"
  end
end

我也试过了,也没有用。d=mmd=identicon

这是我在导航栏中使用的代码:

<a href="#" class="dropdown-toggle" data-toggle="dropdown"
                  role="button" aria-haspopup="true" aria-expanded="false">
                  <%= image_tag avatar_url(current_user), class: "img-circle" %>&nbsp;
                  <%= current_user.fullname %> <span class="caret"></span>
</a>

导航栏的图片

有什么我可以尝试的吗?

感谢您的帮助:)

Ruby-on-Rails Ruby-on-Rails-3 Ruby-on-Rails-4 导航栏 Gravatar

评论


答:

0赞 Christian Bruckmayer 6/25/2020 #1

你的 gravatar URL 是错误的,你错过了之后的 .也不是必需的。:httpswww

def avatar_url(user)
    gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
    "https://gravatar.com/avatar/#{gravatar_id}.jpg?d=identical&s=150"
  end
end

https://en.gravatar.com/site/implement/images/ruby/

评论

1赞 max 6/25/2020
第二行应为 en.gravatar.com/site/implement/images/rubygravatar_id = Digest::MD5::hexdigest(user.email.downcase)
0赞 Christian Bruckmayer 6/25/2020
好点@max,固定!尽管问题的根本原因是由错误的 URL 引起的,而不是电子邮件地址的规范化。还添加了答案的文档链接。
0赞 max 6/25/2020
是的,但任何带有大写字符的电子邮件也会创建无效的哈希值。.Digest::MD5.hexdigest('[email protected]').downcase != Digest::MD5.hexdigest('[email protected]'.downcase)
0赞 Christopher Wippel 6/25/2020
谢谢@ChristianBruckmayer工作正常。我检查了代码 500 次,没有看到缺少......:
0赞 Christian Bruckmayer 6/26/2020
是的,马克斯,这就是为什么我承认它,甚至在答案中更改了它。但是,根本问题是错误的 URL,而不是大写与小写。如果哈希值错误,则会显示默认的 gravatar 图像,但在手头的问题中,由于 URL 错误,根本没有显示任何图像。虽然您的评论是正确的,但这不是问题的解决方案。