PostsController中的NameError#pingback

时间:2011-12-05 16:09:59

标签: ruby-on-rails ruby rubygems

这是我第一次尝试让Gem在rails中工作,而我还没有能够按照文档进行操作。

我首先使用sudo gem install ping back安装了gem,然后通过gem 'pingback'将其添加到我的Gemfile中。然后我运行了bundle install,它显示它安装在它输出的列表中。

那么我错了一个看起来像这个并且在我的帖子控制器中的小功能:

def send_trackback(posts)
  posts.each do |post|
    source_uri = "http://example.com/posts/#{post.slug_url}"
    target_uri = post.target_url
    Pingback::Client.new.ping(source_uri, target_uri)
  end
end

每当我尝试加载发送引用的管理页面时,我都会得到以下内容:

NameError in PostsController#pingback

uninitialized constant PostsController::Pingback

我必须做的不仅仅是通过捆绑器安装gem然后即插即用吗?

更新

require 'pingback'添加到我的帖子控制器顶部会产生以下结果:

cannot load such file -- pingback

3 个答案:

答案 0 :(得分:0)

向我显示的错误消息表明虚拟机正在PingBack中尝试查找PostsController,我认为您缺少PingBack的require或include语句。

答案 1 :(得分:0)

这可能是一个拼写错误,但pingback需要是一个单词,而不是为gemfile中的行“ping back”,以及gem安装。

我会尝试运行'bundle list'来确保安装gem。

答案 2 :(得分:0)

我重启了rails服务器,我相信这已经解决了这个问题。