我的问题涉及以下开发堆栈:
我想要做的是,将导航提供给我的布局。所以我在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
,那么所有对象都会被装饰吗?
答案 0 :(得分: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