我有一个Rails项目,它有一大堆模型都通过单表继承使用相同的表。他们都是不同类型的组织。
是否可以使用draper gem来简化我的模型而无需为从组织模型继承的每个模型创建装饰器?
答案 0 :(得分: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