xml用のヘッダ記述
まず、コンテンツがxmlなので、controllerに以下のような記述をする必要があります。
@headers['Content-Type'] = 'application/xml; charset=UTF-8'
DB から情報を読み込み、 xml を動的に生成するような場合は、キャッシュデータがキャッシュされないようにする必要があります。明示的には以下のように行えます。
@headers['Cache-Control'] = 'no-cache, must-revalidate' @headers['Pragma'] = 'no-cache'
しかし、デフォルトで以下の設定と同様になっているので、特に明示的に設定する必要はなさそうです。
@headers['Cache-Control'] = 'no-cache'
以下、ContentTypeのみ指定した場合のHTTPヘッダを確認した例。
>curl -I http://localhost:3000/hoge/get_locations_xml HTTP/1.1 200 OK Cache-Control: no-cache Connection: Keep-Alive Date: Thu, 20 Apr 2006 06:04:35 GMT Content-Type: application/xml; charset=UTF-8 Server: WEBrick/1.3.1 (Ruby/1.8.4/2005-12-24) Content-Length: 0 Set-Cookie: _session_id=e7c025404b76f1b7dd744954cfb0ada9; path=/