【问题标题】:Gravatar - setting custom default avatar - avatar not shownGravatar - 设置自定义默认头像 - 头像不显示
【发布时间】:2014-03-12 21:42:02
【问题描述】:

我在 localhost: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

头像does not load。当我尝试保存图像时出现错误:“失败 - 无文件”。

我将 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")} 但加载头像也不行。

有什么问题吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails gravatar


    【解决方案1】:

    你的网址好像错了,试试:

    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
    

    你可以添加 options[:default] = image_tag("Yourimage.png") 来改变默认图片。

    【讨论】:

    • 其他所有头像都显示正常。是我遇到问题的默认设置(我尝试加载自定义设置,而不是 gravatars 默认设置)。
    • 据我所知,没有 default_url 选项。您可能正在寻找 options[:default] = "#{root_url}assets/AwesomeAvatar.png"。也看看这个答案:stackoverflow.com/questions/5885714/…
    【解决方案2】:

    我应该对您的问题发表评论,但我的声誉不允许我这样做。 您尝试使用 "gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"???

    【讨论】:

      【解决方案3】:

      Gravatar 的网站说您指定的默认图像“必须公开可用(例如,不能在 Intranet、本地开发机器上、在 HTTP Auth 或其他防火墙后面等)。默认图像通过安全扫描以避免恶意内容。”

      您用于默认图像的 url 托管在本地主机上的开发环境中,因此这将失败。要使其正常工作,您需要将默认图像托管在公共位置,并将该公共 URL 用作默认值。

      【讨论】:

      • 这就是解决方案,谢谢! - 我将头像上传到我网站的公共目录,一切正常。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 2017-08-16
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多