Я знаю, что эта версия до сих пор официально не выпущена, но сегодня я проверял rc3, и я заметил, что больше не могу использовать помощников URL-адресов Rails внутри своих сериализаторов. В версии 0.8.x я мог бы сделать следующее:
class BrandSerializer < BaseSerializer
attributes :id, :name, :slug, :state
attributes :_links
def _links
{
self: api_v1_company_brand_path(object.company_id, object.id),
company: api_v1_company_path(object.company_id),
products: api_v1_company_brand_products_path(object.company_id, object.id)
}
end
end
Но это не выход в новую версию. Какой лучший способ разрешить это, чтобы я мог поддерживать ссылки в своем сериализаторе?
Изменить: Пока я делаю следующее, но мне хотелось бы услышать, есть ли более идиоматический способ.
class BaseSerializer < ActiveModel::Serializer
include Rails.application.routes.url_helpers