这是我第一次尝试让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服务器,我相信这已经解决了这个问题。