Настройка направляющих XML, представляющий для включения дополнительные свойства

Скажем, у меня есть модель как это:

create_table :ninjas do |t|
  t.string name
end

И класс Ниндзя с дополнительным свойством:

class Ninja < ActiveRecord::Base
  def honorific
    "#{name}san"
  end
end

И в моем контроллере я просто хочу представить его к XML:

def show
  render :xml => Ninja.find(params[:id])
end

Почетная часть не представляется. Это имеет смысл, так как это - просто метод, но является там способом обмануть его?

Я полностью для ответов на эффект, "Вы делаете это полностью неправильно". Я просто добавлю, что действительно хочу вычислить почетное динамическое, и не, как, сохранить его в базе данных или чем-то.

1
задан 11 June 2010 в 00:05
поделиться

1 ответ

Вы можете использовать аргумент :methods к to_xml для этой сериализации. Вы можете либо вызвать его непосредственно в вашем действии...

render xml: Ninja.find(params[:id]).to_xml(methods: :honorific)

... либо переопределить to_xml в вашем классе Ninja, чтобы всегда включать его.

Посмотрите документацию для получения дополнительной информации.

2
ответ дан 2 September 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: