这是我为一个项目开发的配置文件面板的代码。我还是个新手,刚开始使用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内部的此处,
- gravatar_id正在从用户电子邮件id设置URL
- size用于设置我们需要渲染的链接标签中图像的大小
- gravatar_url是GravatarURL的主要url骨架
- image_tag正在定义此标记将包含的
img
标记!您也可以在这里为每个gravatar图像标签设置类
NOW,在代码中需要渲染的地方添加以下标记!
<%= gravatar_for @user, size: 100 %>
这里:
- gravatar_for是我们在助手模块中设置的def部分
- @user正在获取用户信息
- size:是我们需要的图像url的大小,默认为80,在助手中设置
现在这将起作用。我想你会发现Gravatar图像设置对每个用户都有帮助,包括当前用户。
感谢您阅读本文。如果你还需要Gravatar的其他东西,这也很有帮助,可以稍微编辑一下。
快乐铁路