5

我已经在 Gravatars 上完成了这个railscast,现在我的应用程序助手中有以下助手方法。

module ApplicationHelper
  def avatar_url(user)
    gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
    "http://gravatar.com/avatar/#{gravatar_id}.png?s=200"
  end
end

我认为这是

<%= image_tag avatar_url(user) %>

我如何修改帮助程序,使其接受将 s=200 更改为指定大小的大小选项?

谢谢

4

2 回答 2

20
module ApplicationHelper
  def avatar_url(user, size)
    gravatar_id = Digest::MD5.hexdigest(user.email.downcase)
    "http://gravatar.com/avatar/#{gravatar_id}.png?s=#{size}"
  end
end

然后调用:

<%= image_tag avatar_url(user, 200) %>

您还可以查看Michael Hartl 的指南。

于 2013-01-16T19:09:50.597 回答
1

application_helper.rb文件夹下的app/helpers文件中,添加如下方法:

# app/helpers/application_helper.rb

def gravatar_for(user, options = { size: 200})
  gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
  size = options[:size]
  gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
  image_tag(gravatar_url, alt: user.username, class: "img-circle")
end

然后在以下位置调用它show.html.erb

<%= gravatar_for @user, size: 200%>
于 2016-03-13T21:13:31.503 回答