2012-11-26 32 views
0

我想在Rails控制檯中看到我的一些Draper裝飾器的輸出(https://github.com/drapergem/draper和http://railscasts.com/episodes/286-draper)。要做到這一點,我一直在尋找一種方式,包括類似於裝飾和它的方法,因爲我們將一個應用助手:如何在Rails控制檯中包含Draper裝飾器?

include ActionView::ApplicationHelper 

布店裝飾從ApplicationDecorator,從德雷珀繼承:: Base的

繼承
class ApplicationDecorator < Draper::Base 
end 

class MaterialDecorator < ApplicationDecorator 
    decorates :material 
    #methods to decorate your material.. 
end 

我試過include Draper::Base::MaterialDecorator,include ApplicationDecorator::MaterialDecorator,和其他一些類似的變化,沒有運氣。

如何在rails控制檯中包含一個裝飾器,比如上面的Material Decorator?

回答

1

所以,原來的(除非有人能否則顯示),這是不是你在測試軌道控制檯布店裝飾輸出的方式..

相反,你只是做:

material = Material.first 
material = MaterialDecorator.decorate(material) 
material.some_decorator_method 
0

添加app/decorators Rails的自動加載路徑:

config/application.rb

config.autoload_paths << Rails.root.join('app/decorators') 

然後,該路徑下的裝飾器類應自動加載,即使在rails console中。例如:

Material.first.decorate.some_decorator_method # => "good stuff" 
相關問題