gpt4 book ai didi

ruby-on-rails - 我应该如何在我的 ApplicationController 中使用 Draper?

转载 作者:行者123 更新时间:2023-12-04 06:18:26 25 4
gpt4 key购买 nike

我的问题涉及以下开发堆栈:

  • rails 3.2.1
  • 德雷珀 0.14
  • 祖先 1.2.5

  • 我想要做的是,将导航传送到我的布局。所以我在 ApplicationController 中定义了一个 before 过滤器.
    class ApplicationController < ActionController::Base
    [..]
    before_filter :current_navigation
    [..]
    def current_navigation
    @n = PublicationDecorator.find(1)
    end
    end

    正如您在上面的代码 list 中看到的,我使用的是 draper .我的 PublicationDecoratorApplicationController 中不可用. 所以我如何获得我所有的 Publications装饰?
    uninitialized constant ApplicationController::PublicationDecorator

    我正在使用 ancestry gem 来实现层次结构。 A 进一步问题 是,如果我使用 ancestry,所有对象都会被装饰?

    最佳答案

    让您的 PublicationDecorator在您的 ApplicationController 中可用.

    require 'publication_decorator.rb' # <--
    class ApplicationController < ActionController::Base
    [..]
    before_filter :current_navigation
    [..]
    def current_navigation
    @n = PublicationDecorator.find(1)
    end
    end

    要让 child 甚至 parent 装饰,将关联添加到您的装饰器:
    class PublicationDecorator < Draper::Base
    decorates :publication
    decorates_association :children
    [..]

    end

    关于ruby-on-rails - 我应该如何在我的 ApplicationController 中使用 Draper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10870306/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com