没有为用户显示gravatar

时间:2016-10-07 20:17:42

标签: ruby-on-rails ruby railstutorial.org cloud9

我正在做https://www.railstutorial.org/book的练习。 我在第7章7.1.4"格雷瓦尔图像和侧边栏"中遇到了一个问题。部分。 即使我已经进行了适当的代码更改,https://rails-tutorial-zovasilei.c9users.io/users/1上也没有显示gravatar。 https://rails-tutorial-zovasilei.c9users.io/users/1上仅显示用户的姓名和电子邮件(没有gravatar)。

我正在开发cloud9环境。该应用程序的行为,如代码尚未刷新。因此,我检查了文件确实已经保存,并仔细检查了代码,但我不明白哪个是问题因为没有gravatar仍然出现。

我引用了一些文件的代码:

的routes.rb

Rails.application.routes.draw do
  root 'static_pages#home'
  get  '/help',    to: 'static_pages#help'
  get  '/about',   to: 'static_pages#about'
  get  '/contact', to: 'static_pages#contact'
  get  '/signup',  to: 'users#new'
  resources :users
end

应用/视图/用户/ show.html.erb

<% provide(:title, @user.name) %>
<h1>
  <%= gravatar_for @user %>
  <%= @user.name %>
</h1>

应用/助手/ users_helper.rb

module UsersHelper

  # Returns the Gravatar for the given user.
  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

应用/控制器/ users_controller.rb

class UsersController < ApplicationController
  def new
  end

  def show
    @user = User.find(params[:id])
  end

end

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。我忘记了custom.scss:

img {
  display: none;
}

上一章中的本教程指示将img设置为none。 但是应该删除此css规则,以便可以看到重力图像。