我关注的是网站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&size=50) no-repeat;sslfalsealtdefault</div>
有人能给我这个问题的解决方案吗?我卡住了,我真的不知道要解决这个问题。非常感谢。
答案 0 :(得分:2)
尝试
image_tag(gravatar_url(@user.email))
答案 1 :(得分:2)
Listing 7.22 in the book使用Gravatar gem中的帮助方法 gravatar_image_tag :
&lt;%= gravatar_image_tag @ user.email%&gt;
答案 2 :(得分:1)
在你的节目中,你应该像这样粘贴smth:
<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>
答案 3 :(得分:0)
遇到同样的问题。
@JeffH:Fyi,我想我们正在看Rails2 tutorial,而不是Rails3。您可以通过单击屏幕右侧的按钮来切换版本。 2.3版本中的Listing 7.22确实说:
<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&size=50) no-repeat;classgravataraltratingPGdefaultsslfalsetitle</div>