2012-05-04 3 views
0
module UsersHelper 

    # Returns the Gravatar (http://gravatar.com/) for the given user. 
    def gravatar_for(user, options = { size: 10 }) 
    gravatar_id = Digest::MD5::hexdigest(user.email.downcase) 
    size = options[:size] 
    gravatar_url = "http://gravatar.com/avatar/#{gravatar_id}.png?s=#{size}" 
    image_tag(gravatar_url, alt: user.name, class: "gravatar") 
    end 
end 

Я использовал этот код и предположил, что он будет меняться в зависимости от размера гравитара, однако он, похоже, не влияет на него? Я что-то упускаю? Я также попытался изменить значение на вид:Что делает размер: атрибут в этом коде?

<%= gravatar_for @user, size: 10 %> 
<%= @user.name %> 

Чтобы узнать, не изменилось ли это, ничего не получилось.

+1

Как сгенерированный HTML выглядеть? Опция 's =' гравитатора действительно работает. – ThiefMaster

+0

@ThiefMaster 'Rails Tutorial' это сгенерированный html – Tom

+0

Моя ошибка Я не добавил часть '? S = # {size}' в gravatar_url за вашу помощь! – Tom

ответ

1

предполагается, что ваш вспомогательный модуль, как показано ниже

module UsersHelper 

    # Returns the Gravatar (http://gravatar.com/) for the given user. 
    def gravatar_for(user, options = { size: 50 }) 

    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.name, class: "gravatar") 

    end 

end 

затем передать в ваш размер в окне

<%= gravatar_for @user, :size => 30 %> 
Смежные вопросы