问题标签 [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.
ruby-on-rails - 多种方法的rails方法
所以我在我的 Rails 演示者中有这段代码(类似于 Draper gem):
在我看来,我正在调用该title
方法。问题是调用此方法只返回link_to 'Favor'
部分而不是其余部分。这是为什么?
提前致谢!
ruby-on-rails - Draper Decorator 规范无法使用设计 current_user 方法
我有一PostDecorator
堂课app/decorators/post_decorator.rb
。它有一个调用 Devise 方法的current_user
方法。它看起来像这样:
我有一个PostDecorator
规格spec/decorators/post_decorator_spec.rb
当我运行它时,我得到一个未定义的方法错误:
宝石版本:
- 布帘 (1.4.0)
- rspec-rails (3.4.1)
- 设计(3.5.5)
另外我应该注意我app/lib
目录中的所有内容都是自动加载的。在application.rb
我有config.autoload_paths << Rails.root.join('lib')
ruby-on-rails - 将 draper gem 与设计注册控制器一起使用
我已经通过以下方式声明了 user_decorator.rb 而不是 user_helper.rb
这是我在 user.rb 上声明的枚举
我想从与注册控制器相关的视图中调用辅助方法。它就像
但是,如果我调用辅助方法,例如从 views/devise/registrations/new.html.erb
它没有找到contract_type。需要有关如何从 user_decorator.rb 上声明的视图访问辅助方法的帮助
ruby-on-rails - 如何在 Rails 中正确使用装饰器?
我是使用装饰器的新手,我需要你的帮助来了解如何正确使用它以及我做错了什么。
book_decorator.rb
意见/书籍/index.html.slim
book_controller.rb
我已经按照这些教程(https://github.com/netguru/decent_decoration https://github.com/drapergem/draper#decorating-objects),看起来很好,但是当我在书籍索引页面上时, 它说
未定义的方法“in_users_list?” 对于书:0x007f6f4a0a4a18
我想它仍然不知道应该使用装饰器的方法,但是如何解决呢?我无法理解我做错了什么,请帮助查找并解决问题!先感谢您!
ruby-on-rails - Rspec 和 Draper:类名上的未初始化常量
在 Rails 4 上,当我为装饰器执行 rspec 测试时,出现以下错误:
我肯定错过了一些东西,但我不知道是什么。
我生成装饰器
生成一个 spec/my_decorator_spec.rb 文件,其内容为:
然后我测试
我没有在 application.rb 或 spec_helper.rb 中添加任何内容。装饰器本身可以正常工作。
编辑
这比我预期的要奇怪。当我测试所有 rspec 文件时,我的装饰器规范文件中的测试会正确执行。
有用 :
它没有:
ruby-on-rails - expose_decorated 不适用于帖子变量。为什么?
我尝试在我的项目中使用 draper、decent_exposure 和 decent_decoration gem,但有些东西不能正常工作。这很奇怪,因为我只是从另一个项目中复制了这段代码。
我的控制器是:
这是索引视图
我收到了这个错误:
ruby-on-rails - Rails 在 html 组件中注入链接
使用 Rails 4.2 和 Draper gem。我有一个装饰器:
我想在 js 视图中呈现链接:
但是链接没有注入到单元格中。单元格是空的。
如果我在控制台中打印status_link
它的工作方法:
如果我尝试注入一个整数,它会起作用:
我也尝试使用双引号:
但结果是一样的。我尝试使用浏览器控制台检查代码,但没有显示错误
为什么在整数工作正常时没有注入链接?
ruby-on-rails-4 - Rails 装饰器规范 -> UrlGenerationError 并且没有 #current_user_admin?帮手
所以我正在ActionController::UrlGenerationError
为当前用户管理员服务。link_to
undefined method
我怀疑 rspec 设置有问题。另外我认为可能有问题concat
在视图中它也完美无缺。
相关装饰器代码:
相关规范代码:
运行规范的结果:
这是我的导轨助手:
有任何想法吗?我现在已经2天不能前进了。
要求的信息:
请注意,如果您的 Devise 模型被称为 Member 而不是 User,例如,那么可用的助手是:
我解决了与 link_to 方法相关的问题。我更换了:
和:
我基本上将 url 生成器添加到锚点(尽管它在视图中正常工作)。我还必须执行以下操作:
因为我正在使用concat
并且此方法附加了当前视图输出缓冲区,这在装饰器规范中不可用。
编辑:
来自评论的 Mine 和 Paweł Duda 解决方案有效,但它们产生的链接正在重新加载页面。
ruby-on-rails - Ruby 从我的代码中得到错误的类名
奇怪的错误,我正在调用::Facility::ProcedureDecorator
,但由于某种原因,在我的登台服务器上,ruby 想要调用ProceduresDecorator
。有什么想法吗?
以下是一些示例:
编辑:谢谢大家的帮助,最后问题在 内config/environments/staging.rb
,这两行引起了问题。
ruby-on-rails - 使用 Draper 装饰器的未定义方法 link_to_edit
我有一个 User 和 Post 模型,它们以经典的方式相互关联——User has_many :posts
并且Post belongs_to :user
. 在users#show
我显示用户个人资料的地方,我还列出了他发布的所有帖子。另外,我希望有链接来恭敬地编辑和删除每个帖子。所以,我弥补了这一点:
但是,将这个逻辑放到视图中肯定会导致混乱,所以我决定使用 Draper 并为此编写装饰器。当我们要检查权限posts#edit
和posts#delete
方法时,我想出了一个 Post 模型的装饰器,并尝试在PostsController
. 它是这样的:
然后,在我的PostsController
:
但是每次我尝试使用我的新助手<%= post.link_to_delete %>
而<%= post.link_to_edit %>
不是那种有条件的混乱来使用他的帖子列表呈现我的用户个人资料时,它只会返回以下错误:
我究竟做错了什么?