问题描述
我喜欢保持模型紧密并为特定逻辑创建新类或模块的想法(符合单一职责原则)。
据我所知,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 (将#修改为@)