问题标签 [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 5 使用包含装饰关联的对象渲染 JSON
我的 Rails 5 应用程序有一个 Ride 模型和一个 Waypoint 模型,其中一个 Ride 有多个 Waypoints。
我还有一个航点装饰器,它装饰了一些航点字段。
在我的 Rails 应用程序中,我想返回一个游乐设施列表和所有嵌套的航点。
效果很好。
但我想返回装饰的航点,所以我尝试的是:
但这给了我一个错误,说装饰不是航路点的函数。我正在使用 Drape Gem 进行装饰,它在应用程序的其他部分工作得很好。
ruby-on-rails - 在 Rails 5 和 Draper 中包含装饰的嵌套对象
我正在使用 Rails 5 和 Draper 来装饰模型。
我的模型是帖子和评论,并且有一个评论装饰器。
我想获取所有帖子并急切地加载装饰评论。
我的出发点是
但这当然不会返回修饰的评论。我必须修改什么才能获得呈现的评论?
ruby-on-rails-5 - 找不到生成器 'draper:install' rails 5
使用 rails 5 我添加了 gem
然后当我调用安装生成器时出现错误
我在这里做错什么了吗?
ruby-on-rails - 无法安装和使用“draper”gem
我在处理 draper gem 时遇到了一些问题。
安装 draper gem 'draper'
/li>
这是成功的。
做过
/li>rails generate draper:install
但我有一些错误
没关系,我做到了
/li>rails generate decorator Service
这是成功的。
services_decorator 中的方法
/li>从视图中调用此方法
/li>
但这是错误的,
有人可以教我出了什么问题以及如何解决这个问题吗?rails版本是4.1.7,draper版本是2.1.0
ruby-on-rails - 存在未定义的方法吗?对于 Draper::CollectionDecorator
我正在尝试为我的 Rails 项目实现 Draper gem,但无法使其正常工作。我收到错误消息:
未定义的方法“存在吗?” 对于#Draper::CollectionDecorator:0x000055b625da7a10>
该错误似乎来自我在索引视图上呈现的部分内容。部分调用“@accounts.exists?” 这是发生错误的地方。如果我删除对部分的调用,我的装饰器工作正常。我觉得我需要为此使用委托命令,但我不确定。我对 Rails 还很陌生,刚刚开始探索那里的一些有用的宝石。我希望有人可以查看我的代码并为我指出正确的方向以克服此错误。谢谢!:)
模型:Account.rb
控制器:accounts_controller.rb
装饰器:account_decorator.rb
查看:accounts/index.html.erb
查看部分:accounts/_noaccounts.html.erb
ruby-on-rails - 如何在视图装饰器中连接多个标签
我的 Rails 视图中有一个装饰器。
在我看来,我只渲染了最新的部分,所以基本上是演出。不是电子邮件。如果我添加一个“+”来联系mail_to
和link_to
帮助者,我有一个错误。
我怎样才能连接它们?
ruby-on-rails - 如何使用draper和cancancan?
尝试使用can?
方法和存根当前能力。
但我得到错误:user does not implement: current_ability.
ruby-on-rails - Rails 6如何装饰application.html.erb
我有一个application.html.erb
我想将未读用户消息的计算移动到一些装饰器/帮助器的地方,基本上是因为它看起来像这样:
我知道装饰器的基本概念,但我想知道我是否ConversationDecorator
有app/decorators/conversation_decorator.rb
定义的counter
方法和@conversations.map 块在那里,如何在里面使用这个装饰器application.html.erb
?
示例对话装饰器:
ruby-on-rails - 没有 ActiveRecord 的 Rails Draper Gem Association 装饰
在我的 Rails 项目中,我使用Draper gem来装饰我的对象。
从文档看来,您可以使用以下内容装饰对象的关联项目:
这样当AuthorDecorator
装饰一个Author
时,它也将ArticleDecorator
用于装饰关联的Articles
。
如果你定义一个Article
tobelongs_to :author
和一个Author
has_many :articles
;这一切都很好 并且 that Author
andArticle
都继承自ApplicationRecord
orActiveRecord::Base
并且您有一个带有authors
表和articles
表的数据库。
但是,在我的具体情况下,我的 API 服务只进行一些弹性搜索,然后执行一些计算和格式化,然后将搜索结果呈现给用户。所以没有必要为这些“计算和格式化的结果”创建一个数据库,我绝对不想为这些结果创建一个数据库。
我可能有一个模型,说:
很简单。例如Author.new(params: {'name'=> 'John'}
会给我一个 id 和名称为“John”的作者。
然后是一个Ariticle
模型
假设,假设我所有的文章文本和用户名都是唯一的,并且从不重复。
现在让我们创建一个作者和一些文章:
现在我打电话AuthorDecorator.decorate(author)
,它根本不会打电话ArticleDecorator
。我认为那是因为我没有has_many :articles
在我的Author
模型和belongs_to :author
我的Article
模型中添加。但我做不到。因为如果我这样做了,我会得到一个错误
这基本上是说我需要一张桌子。但在这种情况下,我不想要一张桌子。
我应该怎么办?
谢谢!
ruby-on-rails - Rails Draper 的装饰器导致 ArgumentError
我为 Rails 项目设置了 Draper 的装饰器来替换原来的助手。我将帮助代码移至装饰器:
并在 View 中添加.decorate
文本以使用它
但是,这会导致ArgumentError wrong number of arguments (given 0, expected 1)
如果我删除第一个日期,它将出现NoMethodError undefined method 'date' for #<UserDecorator:0x000055570cbafc58>
我该如何解决这些错误?