要在我的Rails3应用程序中实现 Gravatar ,我在帮助器中使用gravatar_image_tag gem,但在混合2个配置选项时遇到问题:
http://www.iconfinder.com/ajax/download/png/?id=43350&s=128
代替:identicon
或其他人)独立地,两个选项都按预期工作,但是当我把它们放在一起时:
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)。
我做错了什么,或者我怎样才能实现这种组合?
答案 0 :(得分:2)
Gravatar不会为您调整默认图片大小。我假设如果它找不到你给它的电子邮件的gravatar,那么只有302s的ulr给出了默认值。看起来像iconfinder网址中的'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,
:alt => user.full_name,
:class => 'gravatar',
:gravatar => options)
end
或者,如果您在图标查找器上找到一个您喜欢的尺寸的图标,请更改默认选项的设置。
options[:default] = "http://www.iconfinder.com/ajax/download/png/?id=43350&s=#{options[:size]}"
答案 1 :(得分:0)
Iconfinder在这里。您不想链接到下载脚本。相反,只需抓取自己的图像的URL,这样你就不会得到很多标题信息。