3
我有一个关于Ruby中某个数据模型的问题。我有一组业务需求:红宝石数据模式has_many关系双向
用户可以创建多个工作坊
用户可以参加许多研讨会
车间有一个所有者(用户)
车间拥有众多的与会者(用户)
这种关系的第一部分是容易设置:
#user.rb
class User < ActiveRecord::Base
has_many :workshops
end
#workshop.rb
class Workshop < ActiveRecord::Base
belongs_to :user
end
但是,我将如何使从研讨会到用户的“其他has_many”关系。我可以做一些工作坊,比如belongs_to:user,:as:owner。和一个研讨会has_many:users,:as:参加者?
你对此有何看法?更糟糕的是一个生产车间具有与会者限制,所以我需要验证...
感谢, 丹尼尔
准确推测我正在寻找什么!谢谢 –
那么我该如何创建一个记录,以便它会显示在some_user.attending以及some_workshop.attendees中?有没有比'some_user.attending << some_workshop'和'some_workshop.attendees << some_user'更简单的方法? – Eric
@Eric这就是我通常这样做,如果我已经创建了对象(即不属于属性) –