3

我有一个 Rails 项目,其中有大量模型都通过单表继承使用同一个表。它们都是不同类型的组织。

是否可以使用draper gem来简化我的模型,而无需为从我的组织模型继承的每个模型创建装饰器?

4

1 回答 1

2

#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
于 2014-02-03T13:08:37.020 回答