【发布时间】:2010-05-10 12:25:33
【问题描述】:
我有一个像这样的 Ruby on Rails 应用程序设置:
用户模型
has_and_belongs_to_many :roles
榜样
has_many :transactions
has_and_belongs_to_many :users
交易模型
belongs_to :role
这意味着使用了一个名为roles_users的连接表,也意味着用户只能看到通过角色分配给他们的事务,用法示例:
user = User.find(1)
transactions = user.roles.first.transactions
这将返回与分配给用户的第一个角色相关联的事务。如果一个用户有 2 个角色分配给他们,目前要获取与第二个角色关联的事务,我会这样做:
transactions = user.roles.last.transactions
我基本上是想找出一种建立关联的方法,以便我可以根据用户和角色之间的关联中定义的角色通过类似的方式获取用户的交易:
user = User.find(1)
transactions = user.transactions
我不确定这是否可能?我希望你能理解我想要做什么。
【问题讨论】:
标签: ruby-on-rails ruby activerecord associations