Как создать декоратор для набора моделей с использованием одной таблицы?
У меня есть проект Rails, который имеет большой набор моделей, использующих одну и ту же таблицу через Single Table Inheritance. Это все разные типы организаций.
Можно ли использовать драгоценный камень для упрощения моей модели без необходимости создавать декоратор для каждой модели, которая наследуется от модели моей организации?
1 ответ
Решение
Вы можете явно украшать объект без #decorate
метод.
приложение / декораторы /organization_decorator.rb:
class OrganizationDecorator < Draper::Decorator
delegate_all
end
приложение / контроллеры /organizations_controller.rb:
class OrganizationsController < ApplicationController
def show
@organization = OrganizationDecorator.decorate(Organization.find(params[:id]))
end
end
Вы также можете попробовать с:
приложение / контроллеры /organizations_controller.rb:
class OrganizationsController < ApplicationController
decorates_assigned :organization, with: OrganizationDecorator
def show
@organization = Organization.find(params[:id])
end
end