Gravatar Image_tag显示了一个我从未见过的随机人(Ruby on rails)



这是我为一个项目开发的配置文件面板的代码。我还是个新手,刚开始使用gravatar。当我运行面板时,图像上随机出现了一个人。我以前从未见过这个人,也不知道他们是谁。这是怎么发生的?

<nav class="panel">
<p class="panel-heading">   
Profile
</p> 
<p class= "panel-block"> 
<article class="media">
<div class="media-left">
<figure class="image is-64x64">
<%= gravatar_image_tag(current_user.email, size: 64, alt: current_user.name) %>
</figure>
</div>
<div class="media-content">
<div class="content">
<p>
<strong><%= current_user.name %></strong><br/>
<small><%= current_user.username %></small>
</p>
</div>
</div>
</article>
</p>
</nav>

当我检查元素时,我会从gravatar获得一个特定化身的链接。我被黑了吗?期待您的帮助!

<img size="64" alt="fireball" src="http://gravatar.com/avatar/c3f5511d8046fc67693d50b0473c1a85" width="80" height="80">

您可能因为设置错误而无法获得正确的图像!让我们来解决它

我们将从头开始!

让我们检查app/helpers/application_helpers.rb中的应用程序助手文件。您也可以按照此方法,在ApplicationHelper模块内添加以下行:

# app/helpers/application_helpers.rb
module ApplicationHelper
def gravatar_for(user, options = { size: 80})
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
end

def gravatar_for内部的此处,

  1. gravatar_id正在从用户电子邮件id设置URL
  2. size用于设置我们需要渲染的链接标签中图像的大小
  3. gravatar_url是GravatarURL的主要url骨架
  4. image_tag正在定义此标记将包含的img标记!您也可以在这里为每个gravatar图像标签设置类

NOW,在代码中需要渲染的地方添加以下标记!

<%= gravatar_for @user, size: 100 %>

这里:

  1. gravatar_for是我们在助手模块中设置的def部分
  2. @user正在获取用户信息
  3. size:是我们需要的图像url的大小,默认为80,在助手中设置

现在这将起作用。我想你会发现Gravatar图像设置对每个用户都有帮助,包括当前用户。

感谢您阅读本文。如果你还需要Gravatar的其他东西,这也很有帮助,可以稍微编辑一下。

快乐铁路

最新更新