Skip to main content
 首页 » 编程设计

ruby-on-rails之在 Ruby on Rails 中放置模型 "utility"函数的位置

2024年10月25日26jpfss

我有一个带有多个模型的 Rails 应用程序。

我有一个要从多个模型访问的功能。

放置此代码的最佳位置是什么?如何才能从需要获取它的模型中访问它?

我的理解是帮助者只是为了观点。它是否正确?

创建插件并将其放在供应商文件夹中似乎是错误的 - 这是我的代码,也是我的应用程序不可或缺的一部分。它是否正确?

谢谢。

请您参考如下方法:

最简单的解决方案是在 lib 下创建一个模块并将其混合到需要它的模型中,例如在 lib/fooable.rb 中:

module Fooable 
  def do_foo 
  end 
end 

然后在您的各种模型中:
class MyModel < ActiveRecord::Base 
  include Fooable 
end 

不需要 fooable.rb,只要使用正确的约定命名,Rails 自动加载机制就会为您找到它。