问题标签 [draper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2785 浏览

ruby-on-rails - 从 Draper Decorator 渲染部分

我有一个装饰器,它返回一个字符串或一个集合。

在我看来,我想显示这个装饰器方法的返回。

现在在我看来,如果它是字符串,我想渲染字符串,或者渲染集合。

不幸的是我无法访问render里面的方法Draper::Decorator。想法?

0 投票
2 回答
1389 浏览

ruby-on-rails - 如何在关联对象中包含 draper 装饰器

我正在使用 Draper 向多个模型添加装饰器,我有一些用于一个模型(我的文档模型)的装饰器,我想用它们来“装饰”另一个模型(我的用户模型)。我怎样才能做到这一点?

我试过把它放在我的文档装饰器中,但它不起作用。

并将其添加到我的用户控制器中:

先感谢您!

0 投票
1 回答
669 浏览

ruby - 是否可以在 Draper 装饰器中验证上下文?

我已经开始在我的新工作中与装饰师一起工作,并且发现他们真的很有帮助。我正在为我们的一位装饰师编写规范,并想知道是否有可能做到这一点......

设置(精简版):

我们有一个有两个孩子的主要对象。

当 Main 被装饰时,我们也装饰 B,但我们必须将 A 作为上下文传递。A 用于 B 的一些装饰器方法,但如上所述将 A 与 B 分开更合乎逻辑。

有时我们自己装饰 B(不通过 Main),过去我们忘记将 A 作为上下文传递。我们总是能抓住它,但一直打下去是个烦人的问题。

问题:

是否可以验证 A 在 B 的装饰器中作为上下文传递?你能有一个装饰器验证器吗?

(我们考虑过让 A 成为 B 的子节点,但这对我们的应用程序没有意义。我同意它会起作用,但这不是我们想要的。)

0 投票
1 回答
715 浏览

ruby-on-rails - 在父对象视图部分中装饰关系对象

我正在使用 Draper 来装饰我的物品。

我有一个模型“开始”,它有一匹马。我有一个 horse 装饰器,它有一个 boy_or_girl 方法,我从 horse 模式中重构了该方法。

我得到了在 boy_or_girl 方法中找不到的方法。我如何装饰相关的马?

0 投票
1 回答
793 浏览

ruby-on-rails - Draper 与 form_for in 方法

我正在尝试在 draper 装饰器中创建一个方法,该方法会吐出一个 form_for。我有一个用于在索引视图上搜索记录的表单,并且有几十个资源,所以如果可能的话,我真的想在一个地方维护这个逻辑(应用程序装饰器)。我的问题是我不知道如何在装饰器中呈现 form_for 。我遇到了 concat 和 capture 的一些用法来尝试完成此操作,但没有运气。我所能得到的只是几个要显示的div(也不是html,就像纯文本一样)。关于如何做到这一点的任何想法?这是我得到的代码:

在我看来……

任何帮助将不胜感激!

仅供参考,我已经将它放入一个部分并且有效,但是我需要添加一些更复杂的逻辑,这将使它在每个资源的基础上有所不同,所以部分对我来说并不理想。

谢谢

0 投票
0 回答
102 浏览

ruby-on-rails - 使用 Draper 查看允许方法的新方法?

我最近将 Draper gem 升级到了 1.2.1。我以前通过以下方式检查允许哪些字段:

显然“允许”现在是代表,什么是“允许”?

0 投票
1 回答
65 浏览

ruby-on-rails - 使用 .each 将视图代码重构为装饰器

我只是在学习如何使用 draper gem 将视图代码移动到装饰器中。我无法弄清楚如何将 .each 移动到装饰器中。

我尝试了以下方法:

查看代码:

装饰器代码:

结果是整个用户哈希而不是我正在寻找的 first_name last_name 按钮。也许 .each 不属于装饰器?任何帮助,将不胜感激。

0 投票
1 回答
826 浏览

ruby-on-rails - draper - 使用“to”和“prefix”帮助理解委托

鉴于我有一个继承自的类Draper::Decorator,如下所示:

GlassDecorator在同一目录中的另一个文件中调用了一个装饰器。

  1. 这条delegate线实际上是什么意思?这是否意味着当我尝试访问titlenameregionkeys属性/方法时,它们将被委托给GlassDecorator? 部分是什么prefix:意思?

  2. 对于full_title方法,glass_title部件是否尝试title在 ? 中查找属性/方法GlassDecorator?如果是这样的话,难道仅仅是因为这delegate条线才成为可能吗?如果是这样,它是:prefix使它成为可能的部分吗?

谢谢你。

0 投票
2 回答
992 浏览

ruby-on-rails - 用 Draper 装饰的 public_activity gem

我正在尝试使用 Draper 装饰由 public_activity gem 创建的活动集合。

但是,似乎 PublicActivity::Activity 没有从 ActiveRecord 继承(我是否正确地假设?)所以我需要添加include Draper::Decoratable到模型中,但是那个 PublicActivity 模型到底在哪里?

顺便说一句,这是我得到的错误:

Could not infer a decorator for PublicActivity::Activity.

0 投票
2 回答
1249 浏览

ruby-on-rails-4 - 未定义的方法错误 draper gem

我正在尝试使用 draper gem,看起来我设置得很好,但是,当我在 draper 方法中调用方法时,我得到一个“未定义的方法错误”这是我到目前为止所做的。

在我的装饰器中,我有以下代码。

在我的控制器中

我的观点

在浏览器中运行,我得到以下错误

任何想法,有什么问题?