Ruby on rails ruby on rails gravatar_image_标签

Ruby on rails ruby on rails gravatar_image_标签,ruby-on-rails,gravatar,Ruby On Rails,Gravatar,我正在学习railstutorial.org教程。虽然我可以在网页上看到gravatar,但我的rspec测试失败了 以下是用户\u控制器\u spec.rb测试: describe "GET 'show'" do before(:each) do @user = Factory(:user) end it "should be successful" do get :show, :id => @user response.should be_suc

我正在学习railstutorial.org教程。虽然我可以在网页上看到gravatar,但我的rspec测试失败了

以下是用户\u控制器\u spec.rb测试:

describe "GET 'show'" do

  before(:each) do
    @user = Factory(:user)
  end

  it "should be successful" do
    get :show, :id => @user
    response.should be_success
  end

end
以下是相关的show.html.erb文件:

<table class="profile" summary="Profile information">
  <tr>
    <td class="main">
      <h1>
        <%= gravatar_image_tag(@user.email) %>
        <%= @user.name %>
      </h1>
    </td>
    <td class="sidebar round">
      <strong>Name</strong> <%= @user.name %><br />
      <strong>URL</strong> <%= link_to user_path(@user), @user %>
    </td>
  </tr>
</table>

名称
URL
我收到一个错误,说明“undefined method‘gravatar_image_tag’。我已经通过执行“gem install gravatar_image_tag”安装了相应的gem,将其添加到我的gemfile中,并执行了“bundle install”。当我执行“gem list”时,它被列为已安装

我已经试着调试了好几个小时了。如果有任何帮助,我们将不胜感激。提前谢谢。顺便说一句,我正在运行32位Windows7和GitBash,RubyInstaller-1.9.2-p0

错误消息:


gem文件中的
gravatar\u image\u标记是否对所有环境都是全局的?如果您将其包含在
组:开发、:生产
块或类似内容中,则在测试中不可用

我还没试过,但你的台词:

get:show,:id=>@user

似乎需要:


get:show,:id=>@user.id

我是gem的作者。你能在github页面上用rails版本和gem列表为我打开一个问题吗?我会看看是否能帮你解决这个问题,然后在这里发布答案

我有一些gem的预发布版本,我可以把它们推给gemcutter,这可能已经解决了这个问题

干杯,
Mike D.

在相同的教程之后,我遇到了相同的
未定义方法“gravatar\u image\u tag”
错误,但与上面接受的解决方案不同(我的gem在gem文件中的正确位置,所以这不是问题)


只需重新启动服务器(
Ctrl C
然后
rails服务器
),然后一切都得到了修复。

自Michael Hartl的PDF发布以来,gravatar gem文件已经更新

gem 'gravatar_image_tag'
将其包含在GEM文件中,然后使用重新启动rails服务器

rails s

这对我很有用。

如果您使用Spork作为DRB服务器,请尝试重新启动它,这对我很有帮助!(我也在关注Hartls PDF).

我也遇到了同样的问题,只需重新启动即可解决。

谢谢!这就是问题所在。我的gravatar\u image\u标记gem在开发组中!!!非常感谢!!!另外get:show,:id=>@user和get:show,:id=>@user.id是相同的