4

我正在阅读 Michael Hartl Rails 教程,但在“添加 Gravatar”部分时遇到了一个奇怪的问题。我已经对照 Rails 中 Gravatar 的另一个实现检查了代码,我为不同的教程做了,但看不出有什么不同。

基本上:图像不会出现,但如果您右键单击该空间并访问它指向正确 Gravatar 页面的 URL。

代码:(show.html.erb)

<%= gravatar_for @user %>

代码:(users_helper.rb)

def gravatar_for(user, options = { size: 50 })
    size = options[:size]
    gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
    gravatar_url = "https://secure.gravatar.com/avatars/#{gravatar_id}.png?s=#{size}"
    image_tag(gravatar_url, alt: user.name, class: "gravatar")
end

完全被难住了,知道我错过了很明显的事情,但是从书和 Gravatar 网站上,我似乎已经做到了这一点......

4

4 回答 4

7

网址错误

gravatar_url = "https://secure.gravatar.com/avatars/#{gravatar_id}.png?s=#{size}"

正确版本

gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}.png?s=#{size}"

单数形式“.../avatar/....”

于 2013-04-17T01:59:00.190 回答
4

我遇到了同样的问题,我通过在 Adblock 和 ghostery 中将 Cloud9 页面列入白名单来解决

于 2015-03-13T05:55:28.267 回答
0

对我来说同样的问题。我通过将 gravatar_url 更改为“ http://gravatar.com/avatar/# {gravatar_id}”而不是 https 连接来修复它。

于 2014-04-23T09:29:00.070 回答
0

那是整个 users_helper.rb 文件吗?

我的看起来像这样:

module UsersHelper

  # Returns the Gravatar (http://gravatar.com/) for the given user.
  def gravatar_for(user)
    gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
    gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
    image_tag(gravatar_url, alt: user.name, class: "gravatar")
  end
end

随着

模块用户助手

和一个额外的

结尾

于 2013-01-19T14:26:44.070 回答