0

オブジェクトを構造体として作成し、xml として送信したい:

  def index
   katie = Struct.new(:name, :gender, :age).new("Katie", "F", 18)
   render :xml => katie
  end

しかし、私はエラーが発生しています:

18:Fixnum の未定義のメソッド「bytesize」

誰かアドバイスをくれませんか?

4

1 に答える 1

0

これは元の質問よりもずっと後のことですが、別の回答があります:

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
于 2014-07-17T16:32:19.373 に答える