Рубин на рельсах: gravatar_for - PullRequest
       1

Рубин на рельсах: gravatar_for

2 голосов
/ 28 декабря 2010

Я был на сайте http://railstutorial.org/ и в главе 7 он показывает пример того, как использовать gravatar_for.

Я пытался использовать его, используя

<%= gravatar_for @user %>

но он не отображается правильно в моем браузере (Firefox / Opera / Chrome)

рендерит этот html:

<div>classgravatartitleratingPGstylewidth:50px;height:50px;background:url(http://www.gravatar.com/avatar/bebfcf57d6d8277d806a9ef3385c078d?rating=PG&amp;size=50) no-repeat;sslfalsealtdefault</div> 

Может кто-нибудь дать мне решение этой проблемы? Я застрял, и я действительно не знаю, чтобы решить это. Большое спасибо.

Ответы [ 4 ]

2 голосов
/ 10 февраля 2011

Листинг 7.22 в книге использует вспомогательный метод gravatar_image_tag из драгоценного камня Граватара:

<% = gravatar_image_tag @ user.email%>

2 голосов
/ 28 декабря 2010

попробуй

image_tag(gravatar_url(@user.email))
1 голос
/ 18 сентября 2011

В вашем шоу вы должны вставить что-то вроде этого:

<h1>
  <%= gravatar_image_tag @user.email %>
  <%= @user.name %>
</h1>

Или для использования помощника, скопируйте его в users_helper.rb:

module UsersHelper

  def gravatar_for(user, options = { :size => 50 })
    gravatar_image_tag(user.email.downcase, :alt => user.name,
                                            :class => 'gravatar',
                                            :gravatar => options)
  end
end

И тогда вы можете использовать это в вашем app/views/users/show.html.erb:

<h1>
  <%= gravatar_for @user %>
  <%= @user.name %>
</h1>
0 голосов
/ 15 февраля 2011

Возникла та же проблема.

@ ДжеффХ: Кстати, я думаю, что мы смотрим на Rails2 учебник , а не Rails3.Вы можете переключать версии, нажимая кнопку в правой части экрана. В листинге 7.22 в версии 2.3 действительно сказано:

<h2>
  <%= gravatar_for @user %>
  <%= h @user.name %>
</h2>

Предложение codevoice сработало для меня.Кто-нибудь знает почему?Это проблема с версиями?Для меня команда <%= gravatar_for @user %> создает следующий HTML-код:

<div>stylewidth:50px;height:50px;background:url(http://www.gravatar.com/avatar/bebfcf57d6d8277d806a9ef3385c078d?rating=PG&amp;size=50) no-repeat;classgravataraltratingPGdefaultsslfalsetitle</div> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...