虽然URI正确,但不显示Gravatar图像 - Ruby on Rails

时间:2013-01-19 11:59:41

标签: ruby-on-rails ruby gravatar

我正在通过Michael Hartl Rails教程工作,并且我在添加Gravatar'时遇到了一个奇怪的问题。部分。我已经检查了代码与Rails中Gravatar的另一个实现,我为不同的教程做了,并且看不出有什么不同。

基本上:图片不会显示,但如果您右键点击该空间并访问该网址,则会指向正确的Gravatar页面。

代码:(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 个答案:

答案 0 :(得分: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 /...."

答案 1 :(得分:4)

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

答案 2 :(得分: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

使用

  

模块UsersHelper

和额外的

  

答案 3 :(得分:0)

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