1

私のプロジェクトにはいくつかの ActiveResource モデルがあります。ActiveResource で to_xml を呼び出したとき、とても奇妙なことがありました。:only や :except などの to_xml に渡したオプションはまったく機能しません。ActiveRecord では、非常にうまく機能します。誰でも知っていますか?

class Node < ActiveResource::Base
   self.site = NODE_SERVER
end

# node has uuid, name, type attributes
node = Node.find("3333")
node.to_xml(:only => [:uuid])

# after here, i still get all attributes
4

3 に答える 3

1

とのto_xmlメソッドは独立した実装です。つまり、それらがまったく同じように動作したり、同じ引数を取るとは期待できないということです。ActiveRecordActiveResource

于 2009-10-05T15:01:56.093 に答える
1

ActiveResource::Base#to_xml の実装は、ActiveRecord::Base とは異なります。

http://api.rubyonrails.org/classes/ActiveResource/Base.html#M000914を参照してください。

ActiveResource::Base#to_xml のみを受け入れます :indent, :dasherize, :camelize and :skip_instruct.

于 2009-10-05T14:54:53.720 に答える
0

あなたは「ここでも、まだすべての属性を取得しています」と言います。それ自体node.to_xmlが変わると思っているようですが、そうではありません。nodeあなたがしなければなりません

xml = node.to_xml(:only => [:uuid])

を参照してくださいxml

于 2009-09-09T07:30:46.310 に答える