加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 你如何拥有一个外部的默认Gravatar并实际调

发布时间:2020-12-17 02:10:47 所属栏目:百科 来源:网络整理
导读:要在我的Rails3应用程序中实现Gravatar,我在帮手中使用了 gravatar_image_tag gem,但在混合2个配置选项时我遇到了问题: 如果用户没有将电子邮件附加到其电子邮件中,则会呈现默认图像;但我希望它引用一个外部文件(例如,http://www.iconfinder.com/ajax/down
要在我的Rails3应用程序中实现Gravatar,我在帮手中使用了 gravatar_image_tag gem,但在混合2个配置选项时我遇到了问题:

>如果用户没有将电子邮件附加到其电子邮件中,则会呈现默认图像;但我希望它引用一个外部文件(例如,http://www.iconfinder.com/ajax/download/png/?id = 43350& s = 128而不是:identicon或其他)
>我也希望图像能够动态调整大小,比方说50px.

独立地,两个选项都按预期工作,但是当我将它们放在一起时:

def gravatar_for(user,options = { :default => 'http://www.iconfinder.com/ajax/download/png/?id=43350&s=128',:size => 50 })
  gravatar_image_tag(user.email.downcase,:alt => user.full_name,:class => 'gravatar',:gravatar => options)
end

未应用size选项,并且gravatar以其完整大小呈现(在这种情况下为128px).

我做错了什么,或者我怎样才能实现这种组合?

解决方法

Gravatar不会为您调整默认图像的大小.我假设如果它找不到你给它的电子邮件的gravatar,那么只有302s的ulr给出了默认值.看起来像iconfinder url中的’s’参数是针对你想要抓取的尺寸,但该图标的大小不是50px,只有128,256和512

例:

http://www.iconfinder.com/ajax/download/png/?id=43350&s=256

如果你想要一个50px和80px版本的图标,我会将它分别保存到你的应用程序public / image目录default_gravatar_50.png和default_gravatar_80.png,并改变你的方法.

结束

def gravatar_for(user,options = {})
  options = { :size => 50 }.merge(options)
  options[:default] = image_tag("default_gravatar_#{options[:size]}.png
  gravatar_image_tag(user.email.downcase,:gravatar => options)
end

或者,如果您在图标查找器上找到了您喜欢的尺寸图标,请更改默认选项的设置.

options[:default] = "http://www.iconfinder.com/ajax/download/png/?id=43350&s=#{options[:size]}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读