NameError in PostsController#pingback



这是我第一次尝试让Gem在rails中工作,我没有能够遵循文档。

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

然后我写了一个小函数,看起来像这样在我的post控制器中:

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

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

NameError in PostsController#pingback

uninitialized constant PostsController::Pingback

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

更新

require 'pingback'添加到我的帖子控制器的顶部,结果如下:

cannot load such file -- pingback

给我的错误信息表明,虚拟机正试图在PostsController中找到PingBack,我认为您缺少PingBack的要求或包含语句。

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

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

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

最新更新