3

単一テーブル継承を介して同じテーブルをすべて使用するモデルの大規模なセットを持つRailsプロジェクトがあります。それらはすべて異なるタイプの組織です。

組織モデルから継承するすべてのモデルのデコレーターを作成する必要なく、draper gemを使用してモデルを単純化することは可能ですか?

4

1 に答える 1

2

#decorateメソッドなしでオブジェクトを明示的に装飾できます。

app/decorators/organization_decorator.rb:

class OrganizationDecorator < Draper::Decorator
  delegate_all
end

app/controllers/organizations_controller.rb:

class OrganizationsController < ApplicationController

  def show
    @organization = OrganizationDecorator.decorate(Organization.find(params[:id]))
  end
end

次の方法でも試すことができます。

app/controllers/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 に答える