的Gravatar - 设置自定义默认的头像 - 阿凡达未显示(Gravatar - settin

2019-09-30 07:14发布

我在本地主机开发环境:3000

我也跟着上的Gravatar railscasts插曲。 我想设置位于资产/图像我的自定义头像图片。

我使用的代码是这样的:

  def avatar_url(user)
    gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
    default_url = "#{root_url}assets/AwesomeAvatar.png"
    "http://gravatar.com/avatar/#{gravatar_id}.png?s=100&r=g&d=#{CGI.escape(default_url)}"
  end

头像不加载 。 当我尝试保存图像有一个错误:“失败 - 没有文件”。

我改变DEFAULT_URL到:

    default_url = "http://localhost:3000/assets/AwesomeAvatar.png"

当我去这个网址我看到化身的形象,但我仍然得到同样的错误和头像不加载。 我还试图设置d为: d="http://localhost:3000/assets/AwesomeAvatar.png"d=#{CGI.escape("http://localhost:3000/assets/AwesomeAvatar.png")}但具有化身负荷没有运气无论是。

任何线索,什么是错?

谢谢

Answer 1:

的Gravatar的网站说,你指定默认的图像“必须是可公开获得的(例如不能在企业内部网,本地开发机器上,后面的HTTP认证或其他一些防火墙等),默认图像通过安全扫描通过,以避免恶意内容。 “

您正在使用您的默认图像的URL托管在本地主机开发环境,这样会失败。 为了使它工作,你需要主机的默认图像地方公共和使用公共URL默认。



Answer 2:

它看起来像你的URL是错误的,请尝试:

gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"

作为参考,这是我的助手的用户:

module UsersHelper

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

end

您可以添加选项[:默认= IMAGE_TAG(“Yourimage.png”)来更改默认的照片。



Answer 3:

我应该对你的问题发表评论,但我的名誉不允许我。 你试试用“gravatar_url =” https://secure.gravatar.com/avatar/# {} gravatar_id“???



文章来源: Gravatar - setting custom default avatar - avatar not shown