4

我的问题是指以下开发堆栈:

  • 导轨 3.2.1
  • 德雷珀 0.14
  • 祖先 1.2.5

我想要做的是,将导航传递给我的布局。所以我在我的ApplicationController.

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

正如您在上面的代码清单中看到的,我使用的是draper. MyPublicationDecoratorApplicationController. 那么我如何得到我所有的Publications装饰呢?

uninitialized constant ApplicationController::PublicationDecorator

我正在使用ancestrygem 来实现层次结构。另一个问题是,如果我正在使用,所有对象都会被装饰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 回答