我想将对象创建为 struct 并将其作为 xml 发送:
def index
katie = Struct.new(:name, :gender, :age).new("Katie", "F", 18)
render :xml => katie
end
但我收到错误:
18:Fixnum 的未定义方法 `bytesize'
有人可以给我任何建议吗?
我想将对象创建为 struct 并将其作为 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