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

Gravatar Image_tag showing a random person that I have never seen before (Ruby on rails)

提问人:user16043284 提问时间:5/28/2021 更新时间:5/30/2021 访问量:110

问:

这是我正在为一个项目处理的配置文件面板的代码。我还是 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">
Ruby-on-Rails 红宝石 Gravatar

评论


答:

1赞 Abrar Jahin 5/30/2021 #1

您没有得到正确的图像可能是因为设置错误!让我们来修复它。

我们将从头开始!

让我们检查一下 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 是 Gravatar URL 的主 URL 框架
  4. image_tag正在定义这个标签将包含什么的标签!您也可以在此处为每个 Gravatar 图像标签设置类。img

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

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

这里:

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

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

感谢您阅读本文。如果您还需要 Gravatar 提供任何其他内容,稍微编辑一下也很有帮助。

快乐栏杆

评论

0赞 Abrar Jahin 5/30/2021
欢迎,如果这对您有帮助,请将此答案标记为正确,以便每个人都可以从答案中获得帮助。