Rails: исключение полиморфной ассоциации (has_many)

#ruby-on-rails #ruby-on-rails-4 #polymorphic-associations

#ruby-on-rails #ruby-on-rails-4 #полиморфные ассоциации

Вопрос:

попытка a имеет много сквозных ассоциаций, где таблица соединений (UserGroupMembers) является полиморфной. Это на Rails 4

Как мне это исправить?

При создании группы с членами возникает исключение. ошибка соединения с таблицей ie

 User group memberships is invalid
  

код, создающий группу с пользователями

 group = Group.new(name: "test")
group.users << User.first
group.valid? (or group.save)
  
 class Group < ActiveRecord::Base
  has_many :user_group_members, as: :link
  has_many :users, through: :user_group_members, autosave: true
end
  
 class User < ActiveRecord::Base
  has_many :user_group_members
  has_many :groups , through: :user_group_members, source: :link, source_type: :"Group"
end
  
 class UserGroupMembers < ActiveRecord::Base
  belongs_to :link , polymorphic: :true,required: true
  belongs_to :user, required: true
end
  

Комментарии:

1. User напрямую не связано с Group . Оно связано через user_group_members . Попробуйте создать user_group_members для group модели. Users будет доступен автоматически

2. Группа связана с user_group_members через полиморфную ссылку.

3. User также следует упомянуть has_many :user_group_members, as: :link . Можете ли вы проверить это ‘ guides.rubyonrails.org/association_basics.html ‘.