【问题标题】:Rails 4 Include Helper inside Service ObjectRails 4 在服务对象中包含 Helper
【发布时间】:2015-09-14 12:58:05
【问题描述】:

我目前正在尝试在服务对象中使用 Devise 助手

class ServiceObject
    include Devise::Controllers::Helpers

但我明白了

undefined method `helper_method' for ServiceObject:Class

知道如何在服务对象中使用这样的帮助器吗?

【问题讨论】:

  • 你想达到什么目的?
  • 在服务对象中创建一个用户,如果失败,调用warden.cutsom_failure!这是设计辅助方法
  • 好的。但是将一个应该在 ActionController 上下文中工作的整个模块加载到另一个类中对我来说似乎不是一个好的解决方案..

标签: ruby-on-rails ruby-on-rails-4 helper service-object


【解决方案1】:

尝试使用 Presentar。可能您可以使用装饰器宝石。这样您就可以保持您的表示层独立,并且可以轻松地使用任何级别的框架堆栈。

【讨论】:

    【解决方案2】:

    问题是helper_methodActionController::Base定义的方法。因此,包含该模块仅适用于它们的子类。

    如果助手已经包含在您的ApplicationController 中,您可以简单地使用ApplicationController.new.method_to_call

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-20
      • 2017-02-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2013-10-18
      • 1970-01-01
      • 2019-06-06
      相关资源
      最近更新 更多