トラックバック機能をRubyで実装(受信編)
Posted 11月 9th, 2006 by hippos
送信がなんとかできそうなので、受信の方も。送信側がなんとかできたので単純にその逆を実装します。トラバの受け口となるコントローラとアクションtb_controller/recvを用意して各記事のトラックバックURLをhttp://example.com/tb/recv/[記事ID]とします。これで準備完了。
def recv if url?(params[:url]) @trackback = Trackback.new @trackback.blog_id = params[:id] : @trackback.save @error = 0 @massage = 'OK.' else @error = 1 @massage = 'Missing TrackBack url.' end end |
こんな感じになります。もちろん、受信した後どんな処理を行うかは自由ですので必ずしもシリアライズする必要はないのかも知れません。url?の部分ははURLの形式をチェックするメソッドです実際にはもう少し色々チェックしたりすることがあるかと思います。また、http://example.com/tb/recv/[記事ID]の記事IDの部分はparams[:id]で取得できました。このあたりがRailsの楽チンなところですね。返すxmlは
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
xml.response do
xml.error do
xml.text! "#{@error}"
end
xml.message do
xml.text! "#{@message}"
end
end
|
この記事のトラックバックURL:
http://hippos-lab.com/blog/trackback/56









Comments