ActiveModel Serializer: доступ к атрибутам как к методам - PullRequest
0 голосов
/ 09 октября 2018

Как я могу получить доступ к определенным атрибутам в сериализаторе как к методам?

class Test < ActiveModel::Serializer 
  attributes :a, :b, :c
end

s = Test.new(Object)
s.a

Мне нужно это для делегирования, раньше оно было доступно в версии 0.8 /

1 Ответ

0 голосов
/ 09 октября 2018

Методы атрибута больше не определены в сериализаторе, и к ним должен быть явный доступ через объект

class MySerializer
  attributes :foo, :bar

  def foo
    bar + 1 # bar does not work, needs to be object.bar in 0.10
  end
end

См. https://github.com/rails-api/active_model_serializers/blob/v0.10.6/docs/howto/upgrade_from_0_8_to_0_10.md#010-breaking-changes

...