2011-02-02 7 views
0

私は、年を計算するメソッド 'date_for_year(year)'を持つモデル 'Feast'を持っています。毎年のデータベースフィールドだけでなく、オンザフライで計算する必要があります。XMLをレンダリングし、非データベースフィールドの値を設定します。

普通のビューファイルを持っているので、各行でfeast.date_for_year(year)を呼び出すだけで、@ feastsオブジェクトを繰り返し、各日付を出力できます。

しかし、自動生成されたXML出力ではどうすればよいですか?セット全体に1年を渡す方法が必要なので、日付もXML出力のフィールドとして表示されます。誰もそれを行う方法を知っていますか?私はそれがデータベースのフィールドではありませんとき、明らかに、そのように動作することができないだけでスターターライン

render :xml => Feast.where(:date_for_year => params[:year]).all 

以上のものを持っていない現時点では

。まあ、とにかくうまく考えられていませんが、私はそれを正しく行う方法を想像することができないので、私はここで立ち往生しています。誰かが私に理論的にそれを解決する方法を教えてもらえれば、私はそれを解決できるかもしれない。あなたの助けのために非常に多くの

おかげ

  • アルネ

答えて

0

は、私はちょうど自分自身でそれを解決しました。それを行うには2つの方法がありました。

  1. 年を設定した後に@attributesにカスタムメソッドを追加しています。

  2. カスタムXML出力。

私はそれを実装するのがよりクリーンな方法であったので、後者を優先しました。ここで私はそれをやった:http://danengle.us/2009/05/generating-custom-xml-for-your-rails-app/

関連する問題