4

私の質問は、次の開発スタックに言及しています。

  • Rails 3.2.1
  • ドレーパー0.14
  • 祖先1.2.5

私がやりたいのは、ナビゲーションを自分のレイアウトに配信することです。だから私は私のでbeforeフィルターを定義しましたApplicationController

class ApplicationController < ActionController::Base
  [..]
  before_filter :current_navigation
  [..]
  def current_navigation
    @n = PublicationDecorator.find(1)
  end
end

上記のコードリストにあるように、私はを使用していdraperます。私PublicationDecoratorはで利用できませんApplicationController。では、どうすればすべての装飾を手に入れることができますかPublications

uninitialized constant ApplicationController::PublicationDecorator

ancestry階層を実現するためにgemを使用しています。さらに質問は、私が使用している場合、すべてのオブジェクトが装飾されancestryますか?

4

1 に答える 1

3

で利用PublicationDecoratorできるようにしますApplicationController

require 'publication_decorator.rb' # <--
class ApplicationController < ActionController::Base
  [..]
  before_filter :current_navigation
  [..]
  def current_navigation
    @n = PublicationDecorator.find(1)
  end
end

子供や親でさえも装飾するには、デコレータに関連付けを追加します。

class PublicationDecorator < Draper::Base
  decorates :publication
  decorates_association :children
  [..]

end
于 2012-06-04T05:19:41.477 に答える