首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Draper宝石不装饰相关模型

Draper宝石不装饰相关模型
EN

Stack Overflow用户
提问于 2017-11-27 15:33:04
回答 1查看 821关注 0票数 0

我正在跟踪Draper文档,但是相关的模型并没有被修饰。下面是我的顶级装饰师的一个片段:

代码语言:javascript
复制
module Admin
  class OrderDecorator < Draper::Decorator
    delegate_all
    decorates_finders
    decorates_association :line_item

    def amount
      model.amount.nil? ? 0 : model.amount
    end
  end
end

下面是我的协会装潢师的一个片段:

代码语言:javascript
复制
module Admin
  class LineItemDecorator < Draper::Decorator
    delegate_all

    def options
      model.options.present? ? model.options.to_s : 'N/A'
    end
  end
end

下面是控制器中调用装饰器的方法:

代码语言:javascript
复制
  def show
    @subject = Admin::OrderDecorator.find(params[:id])
  end

它在视图中是这样使用的:

代码语言:javascript
复制
@subject.line_items.each do |li|
  = li.options

...etc...

LineItemDecorator上的options方法只是被忽略了--如果它是零,它不会显示任何东西,而不是'N/A‘。我已经在options方法中加入了binding.pry,它从未被调用过。有人能看到我错过了什么吗?

提前谢了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-27 16:14:32

我认为您需要使用复数line_items (而不是单数line_item )来使它工作,因为这就是您的关联的命名方式。

代码语言:javascript
复制
 decorates_association :line_items
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47514549

复制
相关文章

相似问题

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