模型中的as_xml不起作用

时间:2011-08-21 10:01:40

标签: ruby-on-rails

我想在我的ruby on rails app上用json和xml回复。 在我的控制器(例如“人”)中,我有:

respond_to :html, :json, :xml

在show-method中:

@person = Person.find(params[:id])
respond_with @person

在我的Person-Model中,我定义了'as_json'和'as_xml'方法,因为我想要包含数据。

def as_json(options={})
  super(:include => :parents)
end
def as_xml(options={})
  super(:include => :parents)
end

调用/persons/1.json是正确的。 但是调用/persons/1.xml只将person属性作为xml。缺少包含。

我无法找到xml的信息,仅用于json。是否可以使用as_xml?

2 个答案:

答案 0 :(得分:1)

也许您正在搜索to_xml

答案 1 :(得分:0)

就像lucapette已经建议的那样,您可能想要使用to_xml

您可以在模型中执行此类操作以获取自定义xml(或json)输出

def to_xml options = {}
  return generate_output_object.to_xml options
end

def generate_output_object
  return {"myobject" => {"special_processing" => get_special_data}}
end