问题标签 [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 投票
1 回答
76 浏览

javascript - 无法实现 ajax。if 语句不起作用

我不确定这里有什么问题要知道我到底在问什么,但我会尽力而为。我试图在我认为问题所在的地方加粗以使其更清楚。

我是第一次使用 ajax。在应用程序中,用户 (1) 搜索用户 (2),找到用户 (2) 后,用户 (1) 可以单击“添加关系”按钮,该按钮向用户 (2) 发送关系请求。“添加关系”按钮应立即更改为“请求的关系”,然后在刷新页面后,该按钮应更改为“编辑关系”。

'添加关系' = 尚不存在关系 '请求关系' = 存在待处理关系,就像一条成功消息'编辑关系' = 存在待处理关系或存在已接受的关系

除了在刷新浏览器页面时按钮应更改为“编辑关系”的最后一部分之外,一切正常。出现“添加关系”

这个“编辑关系”按钮不会出现的任何想法?我正在使用状态机、draper 和 js-routes gem。

查看/用户/索引:

在搜索用户(2)时,他们的名字出现在名字旁边,“添加关系”、“编辑关系”或“请求关系”按钮出现

我认为这里的 if 语句是行不通的。为什么它不根据它是挂起还是接受来查找关系?

控制器/用户:

关系.js:

型号/用户:

关系/装饰者:

编辑:

分贝/迁移:

型号/关系:

终端输出:

当我(用户 1)搜索用户 example-24(用户 id = 25)然后按“添加关系”按钮时会发生什么(如 sqlitebrowser 所示:(请参阅图像底部与此相关的 2 行例子)

数据库关系表

编辑:

用户/控制器:

0 投票
2 回答
5756 浏览

ruby-on-rails - 如何使用 rspec 指定 draper 装饰器。

我正在尝试为我的装饰器中的各个功能编写规范。我的助手有如下规格(这只是一个示例):

book_helper.rb

book_helper_spec.rb

给定以下装饰器,我如何为该函数编写规范?

book_decorator.rb

0 投票
1 回答
682 浏览

ruby-on-rails-4.1 - 如何在控制器中访问装饰器 Admin::ExampleDecorator?

我已经使用 draper gem 来生成装饰器,并且我已经创建了一个装饰器。我在装饰器文件夹中使用了命名空间,并尝试使用 decorates_assigned 访问特定控制器中的装饰器。

例如我的文件夹结构是 decorators/admin/example_decorator.rb

我在控制器中添加了以下行:

在行动中我写了

但我收到以下错误:

我不明白为什么会出现这个错误。

命名空间在装饰器中是如何工作的?

0 投票
1 回答
404 浏览

ruby-on-rails-4 - 如何使用 Draper 装饰器 gem 装饰 3 个不同字段的日期格式

我想使用装饰器模式装饰我的 3 个日期,我做了实现装饰器模式所需的步骤,我在装饰器中编写了以下代码来装饰我的日期字段

并查看我正在以下列方式调用

所以上述装饰器中编写的所有方法都在做同样的任务,所以我重构了一个基本装饰器,它只包含一种格式方法,所以上面的装饰器继承自基本装饰器

喜欢

我的子装饰器看起来像这样

所以现在我的问题是在子装饰器中重复相同的代码所以我想重构我的代码,我应该如何重构我的代码?

0 投票
1 回答
418 浏览

ruby-on-rails - 使用 Rails 表单构建器和 Draper

我正在尝试 Draper 作为助手的替代品。我得到了我只是格式化信息的情况。但是如何与 Rails 表单构建器交互呢?例如,如果我想根据某些上下文输出字符串或选择框。我是否将表单构建器作为参数传递。所以在我的装饰器中:

然后在我看来:

有没有更优雅的方法?

0 投票
1 回答
461 浏览

ruby - How can I better test equality for decorated objects?

I'm having trouble with equality matchers in RSpec and Draper decorated objects.

Specs to show what's going on:

I know RSpec has a few different equality checkers, and that eq is the "weakest" but I would have thought not having the same class would be a deal breaker.

As you can see, I have a work around for this case thanks to Draper's matchers. But I feel like I must be missing something for that test to fail.

Question:

What equality matcher should I use to get the should pass, but doesn't test to pass?

0 投票
1 回答
437 浏览

ruby-on-rails - Rails Draper Gem 提高嵌套模型的未定义方法

我的应用程序中有各种关联模型。我已经设置 Draper 在父类初始化时装饰关联。

我有以下课程:

我按如下方式启动装饰器:

在我的 account_decorator 中添加了以下内容:

...在我的客户装饰器中,我有:

我遇到的问题是,facility_decorator 中定义的任何方法都会显示未定义的方法异常。contact_decorator 工作得非常好。我已经确定我的 AR 映射是正确的,所以不可能这样。

有什么建议么?

0 投票
1 回答
618 浏览

ruby-on-rails - Draper Gem 导致未定义的方法错误

我使用 draper 取得了一些成功。但目前我被困住了。

我有两个模型:

如果类正常加载,它会按预期工作:

如果我使用 Draper 来装饰对象,它会返回一个未定义的“number_banned”方法:

要注意:

  • 两个装饰器都包含 delegate_all 选项
  • FooDecorator decorates_association :bars

任何想法我做错了什么?

0 投票
0 回答
87 浏览

ruby-on-rails - 原始和简单的形式......都不完美

我的一个模型中有这个:

现在我知道我不应该在模型中添加视图逻辑,但我正在构建一个搜索应用程序,该应用程序在结果的呈现方式中内置了相当多的逻辑。在这一点上,我不知道如何将它包含在模型中,所以我就是这样做的。

我的问题是这样的:

在视图中,我有这个:

这有效地处理了模型逻辑中插入的 html“标记”标签,并突出显示了正确的文本,但不包括换行符等。

然而,这:

不处理“标记”标签,因此不会突出显示正确的文本,但会按预期正确格式化换行符。

我想做这两件事:通过将“标记”标签插入模型对象(这似乎与“原始”一起使用)来突出显示正确的文本,并使用换行符等呈现正确格式化的 html。

知道我错过了什么。我正在尝试 Draper gem,但我认为它不适合我想要的。

0 投票
1 回答
210 浏览

ruby-on-rails - 为什么装饰器会失败?

我的装饰器有问题:

每次我测试这个装饰器时,我都会收到这个错误:

ReviewDecorator#author 显示评论作者全名 Failure/Error: expect(review.author).to eq 'John Doe' NoMethodError: undefined method firstname' for nil:NilClass # ./app/decorators/review_decorator.rb:7:inauthor' # ./spec/decorators/review_decorator_spec.rb:10:in `block (3 levels)在 '

Rspec 测试:

我做错了什么?