我有一个用户和一个角色模型,我正在努力建立一个多对多的关系。
为什么我需要这两行?
has_many :user_roles
has_many :users, through: :user_roles
第二行是否意味着第一行?第二行何时不代表第一行?为什么Rails只做它的神奇之物并让第二个暗示第一个?
答案 0 :(得分:0)
class Role < ActiveRecord::Base
has_many :user_roles
has_many :users, through: :user_roles
允许您绕过中间步骤。如果您包含@role.users
,则through :user_roles
是有效代码。否则,您需要使用@role.user_roles.users
来获取相同的列表。