我现在有 3 个模型,组、用户和资产。
我应该如何建模它
- 用户属于组,组有很多用户
- 资产属于集团,集团有很多资产
- 组中的每个用户都可以访问资产,例如@user.assets将获取资产的信息
谢谢。
我现在有 3 个模型,组、用户和资产。
我应该如何建模它
谢谢。
在 user.rb 中:
def assets
return self.group.assets
end
不需要任何花哨的东西。模型之间的基本 Rails 关联将处理所有事情。
要让用户访问组的资产,我建议使用delegate
.
有关delegate
查看Rails 指南的更多信息:Active Support Core Extensions
class Group < ActiveRecord::Base
has_many :users
has_many :assets
end
class Asset < ActiveRecord::Base
belongs_to :group
end
class User < ActiveRecord::Base
belongs_to :group
delegate :assets, :to => :group
end
使用委托允许您@user.assets
按照您的要求访问资产。