拆分轨道活动记录模型

问题描述

我喜欢保持模型紧密并为特定逻辑创建新类或模块的想法(符合单一职责原则)。

据我所知,Active Record 关联、范围和验证都属于 Rails 中的活动记录模型。但是,有时仅这些就可以使模型文​​件退出大。使用 class_eval 将活动记录模型拆分为子模型是否会通过编码嗅探测试?请参见下面的示例:

# app/models/user.rb
class User < ApplicationRecord
  include Associations
  include Validations
  include Scopes
end

# app/models/user/associations.rb
class User
  module Associations
   User.class_eval do
     # insert belongs_to,has_many,etc.
   end
  end
end

# app/models/user/scopes.rb
class User
  module Scopes
   User.class_eval do
     # insert scopes
   end
  end
end

# app/models/user/validations.rb
class User
  module Validations
   User.class_eval do
     # insert validations
   end
  end
end

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)