オブジェクトを構造体として作成し、xml として送信したい:
def index
katie = Struct.new(:name, :gender, :age).new("Katie", "F", 18)
render :xml => katie
end
しかし、私はエラーが発生しています:
18:Fixnum の未定義のメソッド「bytesize」
誰かアドバイスをくれませんか?
オブジェクトを構造体として作成し、xml として送信したい:
def index
katie = Struct.new(:name, :gender, :age).new("Katie", "F", 18)
render :xml => katie
end
しかし、私はエラーが発生しています:
18:Fixnum の未定義のメソッド「bytesize」
誰かアドバイスをくれませんか?
これは元の質問よりもずっと後のことですが、別の回答があります:
ActiveModel を使用してクラスを実装し、シリアル化のサポートを含めます。
class Person
include ActiveModel::Serializers::Xml #also include json
include ActiveModel::Model
attr_accessor :name, :gender, :age
def attributes
{name: name, gender: gender, age: age}
end
end
#and in your controller
def index
# should use a respond_to do |format| here
render :xml => Person.new(:name => 'Katie', :gender => 'F', :age => 18)
end