2011-12-05 3 views
0

これは私がドキュメントに従うことができなかったばかりのところでGemを作業するのを初めて試みたことです。PostsControllerのNameError#pingback

私は最初にsudo gem install ping backを使ってgemをインストールしてから、それをgem 'pingback'で私のGemfileに追加しました。私はバンドルインストールを実行し、それが出力するリストにインストールされていることを示します。

次のようになりますし、私の記事のコントローラであるので、私は間違って少し機能:

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 

私は次のことを得るトラックバックを送信管理ページをロードしようとするたび:

​​

uninitialized constant PostsController::Pingback

私はちょうどバンドラとtを経由して宝石をインストールする以上のことを行う必要がありますかひどいプラグアンドプレイ?

更新

この中で私のポストコントローラ結果の上位にrequire 'pingback'を追加:

cannot load such file -- pingback

答えて

0

私はレールサーバを再起動しましたが、これはこの問題を解決したと思います。

0

私にエラーメッセージがVMがでPingBackを見つけようとしていることを示していますPostsControllerPingBackのrequireまたはinclude文がないと思っています。

+0

コントローラーに含めることはできますか?それを含めるより良い場所がありますか? –

+0

ええ、私は理由もないと思う。 –

0

これはタイプミスかもしれませんが、pingbackは1つの単語でなければならず、gemfileの行と 'gem install'の 'ping back'でなければなりません。

私は宝石がインストールされていることを確認するために 'バンドルリスト'を実行しようとします。

+0

ありがとうございます。それはオートコレクトによって引き起こされたタイプミスでした。 'bundle install 'を実行すると、インストールされていることを示す' * pingback(1.1.0) 'が得られます。 –

関連する問題