Gravatar 图片不显示?
Gravatar image not displaying?
我正在学习 Michael Hartl 的 rails 教程,目前正在尝试将 gravatar 图像添加到用户个人资料中。但是,gravatar 默认图像不会加载到我的用户显示页面上。
helpers/users_helper.rb
module UsersHelper
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
users/show.html.erb
<% provide(:title, @user.name) %>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
users_controller.rb
class UsersController < ApplicationController
def new
end
def show
@user = User.find(params[:id])
end
end
我仔细检查了头像 url,但它似乎仍然没有加载。也尝试重新启动服务器。不确定是什么问题?
那gravatar_for(@user)
呢
看起来像一个需要传递变量的方法。
您需要 gravatar ID 才能显示您的照片。如果您不想在 gravatar 上开设新帐户,您可以在 users_helper.rb
:
中使用以下代码
module UsersHelper
# Returns the Gravatar for the given user.
def gravatar_for(user, options = { size: 180 })
gravatar_id = 1
size = options[:size]
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
注意 如果您打开了 gravatar 帐户,您将无法删除您的电子邮件地址。大多数用户都在抱怨这个问题。
希望对你有帮助
您的代码是正确的,但您可能在教程中的一个练习中编写了一些自定义 class 来隐藏图像。将 image
class 设置为 none
image {
display: none;
}
如果不是这样,则从 none
中删除 image-display
。
删除 AvatarHelper 模块中 gravatar_url 字符串开头的 https:
module UsersHelper
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
我正在学习 Michael Hartl 的 rails 教程,目前正在尝试将 gravatar 图像添加到用户个人资料中。但是,gravatar 默认图像不会加载到我的用户显示页面上。
helpers/users_helper.rb
module UsersHelper
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
users/show.html.erb
<% provide(:title, @user.name) %>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
users_controller.rb
class UsersController < ApplicationController
def new
end
def show
@user = User.find(params[:id])
end
end
我仔细检查了头像 url,但它似乎仍然没有加载。也尝试重新启动服务器。不确定是什么问题?
那gravatar_for(@user)
看起来像一个需要传递变量的方法。
您需要 gravatar ID 才能显示您的照片。如果您不想在 gravatar 上开设新帐户,您可以在 users_helper.rb
:
module UsersHelper
# Returns the Gravatar for the given user.
def gravatar_for(user, options = { size: 180 })
gravatar_id = 1
size = options[:size]
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
注意 如果您打开了 gravatar 帐户,您将无法删除您的电子邮件地址。大多数用户都在抱怨这个问题。
希望对你有帮助
您的代码是正确的,但您可能在教程中的一个练习中编写了一些自定义 class 来隐藏图像。将 image
class 设置为 none
image {
display: none;
}
如果不是这样,则从 none
中删除 image-display
。
删除 AvatarHelper 模块中 gravatar_url 字符串开头的 https:
module UsersHelper
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end