首页 > 解决方案 > Rails 全局函数可用于所有对象

问题描述

我想创建一个current_order_week在我的应用程序中全局可用的函数,并且可以类似于类似current_user. 我不想include在特定的模型/控制器中使用它,我只想让它随处可用。

我修改了我/lib的文件夹以包含一个lib_extensions.rb文件并添加到该文件中:

class Object
    def current_order_week
    end
end

我已经修改了我application.rb的包括:

config.autoload_paths << Rails.root.join('lib')
config.eager_load_paths << Rails.root.join('lib')

但是当我尝试current_order_week从控制台或测试中调用时,我仍然看到:

NameError: undefined local variable or method 'current_order_week' for main:Object

我还需要做什么?

标签: ruby-on-rails

解决方案


application_helper.rb您应该在文件中添加此功能。所有控制器ApplicationControllerApplicationControllerApplicationHelper.

module ApplicationHelper
  def current_order_week
  end
end

这将可用于视图和控制器


推荐阅读