作成する必要がある別の Web サービスへの高価な (時間のかかる) 外部要求があり、それをキャッシュしたいと考えています。そこで、アプリケーションコントローラーに以下を入れて、このイディオムを使用しようとしました:
def get_listings
cache(:get_listings!)
end
def get_listings!
return Hpricot.XML(open(xml_feed))
end
get_listings!
コントローラーを呼び出すとすべて問題ありget_listings
ませんが、Rails を呼び出すと、ブロックが指定されていないと不平を言います。そして、そのメソッドを調べると、実際にブロックが必要であることがわかり、さらに、そのメソッドはビューでのみ使用されるように見えますか? したがって、明記されていませんが、例は単なる疑似コードであると推測しています。
だから私の質問は、このようなものをどのようにキャッシュするのですか? 他の方法をいろいろ試しましたが、わかりませんでした。ありがとう!