如何包括Draper的装饰在Rails的控制台?(How to include Draper Dec

2019-10-28 14:17发布

我想看到的Rails控制台的我的一些德雷珀装饰的输出(https://github.com/drapergem/draper和http://railscasts.com/episodes/286-draper )。 要做到这一点,我一直在寻找一种方式,包括类似于装饰和它的方法,因为我们将一个应用助手:

 include ActionView::ApplicationHelper

甲带式输送装饰从ApplicationDecorator,它从Draper的继承继承::基地

 class ApplicationDecorator < Draper::Base
 end

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

我试着include Draper::Base::MaterialDecoratorinclude ApplicationDecorator::MaterialDecorator ,并没有运气一些其他类似的变化。

我怎么能包括一个装饰,如在轨控制台上的材料装饰?

Answer 1:

因此,原来的(除非有人能否则显示),这是不是你在测试轨道控制台布店装饰输出的方式..

相反,你只是做:

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


Answer 2:

添加app/decorators Rails的自动加载路径:

config/application.rb

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

然后,该路径下的装饰类应该自动加载,即使在rails console 。 例:

Material.first.decorate.some_decorator_method # => "good stuff"


文章来源: How to include Draper Decorators in Rails Console?