我有一个带有多个模型的 Rails 应用程序。
我有一个要从多个模型访问的功能。
放置此代码的最佳位置是什么?如何才能从需要获取它的模型中访问它?
我的理解是帮助者只是为了观点。它是否正确?
创建插件并将其放在供应商文件夹中似乎是错误的 - 这是我的代码,也是我的应用程序不可或缺的一部分。它是否正确?
谢谢。
请您参考如下方法:
最简单的解决方案是在 lib 下创建一个模块并将其混合到需要它的模型中,例如在 lib/fooable.rb 中:
module Fooable
def do_foo
end
end
然后在您的各种模型中:
class MyModel < ActiveRecord::Base
include Fooable
end
不需要 fooable.rb,只要使用正确的约定命名,Rails 自动加载机制就会为您找到它。