render_to_stringメソッドとBuilderを使ってXML文字列を生成する方法
メモ
Builderを使ってXMLのレスポンスを生成するには以下のようにrespond_to()を使うのだが・・・
# ビュー(show.xml.builder) xml.diary do xml.title @diary.title end
# Diariesコントローラ def show @diary = Diary.find(params[:id]) respond_to do |format| format.xml end end
レスポンスではなく文字列としてXMLを取得したい時は次のようにするとできる。
# Diariesコントローラ def show @diary = Diary.find(params[:id]) xml = render_to_string(:template => 'diaries/show.xml.builder', :layout => false) # 何かの処理が続く end