首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rails控制台中包含Draper Decorators?

如何在Rails控制台中包含Draper Decorators?
EN

Stack Overflow用户
提问于 2012-11-26 09:34:58
回答 2查看 1.7K关注 0票数 0

我希望在Rails控制台(https://github.com/drapergem/draperhttp://railscasts.com/episodes/286-draper)中看到我的一些Draper Decorator的输出。为此,我正在寻找一种方法来包含装饰器及其方法,类似于我们将应用程序帮助器:

代码语言:javascript
复制
 include ActionView::ApplicationHelper

draper装饰器继承自ApplicationDecorator,后者继承自Draper::Base

代码语言:javascript
复制
 class ApplicationDecorator < Draper::Base
 end

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

我已经尝试过include Draper::Base::MaterialDecoratorinclude ApplicationDecorator::MaterialDecorator和其他一些类似的变体,但都没有成功。

如何在rails控制台中包含一个装饰器,比如上面的Material decorator?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-27 11:55:46

因此,事实证明(除非有人可以证明)这不是您在rails控制台中测试draper装饰器输出的方式。

相反,您只需执行以下操作:

代码语言:javascript
复制
 material = Material.first
 material = MaterialDecorator.decorate(material)
 material.some_decorator_method
票数 1
EN

Stack Overflow用户

发布于 2016-04-28 15:53:46

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

config/application.rb

代码语言:javascript
复制
config.autoload_paths << Rails.root.join('app/decorators')

然后,应该自动加载该路径下的装饰器类,即使在rails console中也是如此。示例:

代码语言:javascript
复制
Material.first.decorate.some_decorator_method # => "good stuff"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13557550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档