Active Model XML Serializer
Methods
Included Modules
Instance Public methods
from_xml(xml)
Link
Sets the model attributes
from a JSON
string. Returns self
.
class Person include ActiveModel::Serializers::Xml attr_accessor :name, :age, :awesome def attributes=(hash) hash.each do |key, value| instance_variable_set("@#{key}", value) end end def attributes instance_values end end xml = { name: 'bob', age: 22, awesome:true }.to_xml person = Person.new person.from_xml(xml) # => #<Person:0x007fec5e3b3c40 @age=22, @awesome=true, @name="bob"> person.name # => "bob" person.age # => 22 person.awesome # => true
to_xml(options = {}, &block)
Link
Returns XML representing the model. Configuration can be passed through
options
.
Without any options
, the returned XML string will include all
the model’s attributes.
user = User.find(1) user.to_xml <?xml version="1.0" encoding="UTF-8"?> <user> <id type="integer">1</id> <name>David</name> <age type="integer">16</age> <created-at type="dateTime">2011-01-30T22:29:23Z</created-at> </user>
The :only
and :except
options can be used to
limit the attributes included, and work similar to the
attributes
method.
To include the result of some method calls on the model use
:methods
.
To include associations use :include
.
For further documentation, see
ActiveRecord::Serialization#to_xml