ActiveModel序列化器:将属性作为方法访问

时间:2018-10-09 18:04:18

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5 active-model-serializers

如何作为方法访问序列化程序中定义的属性?

@Html.DropDownList("Domains", (IEnumerable<SelectListItem>)ViewBag.Domains)

我需要进行委派,它以前在版本0.8 /

中可用

1 个答案:

答案 0 :(得分:1)

属性方法不再在序列化程序上定义,必须通过对象显式访问

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