Направляющие (ActiveRecord) многие многим представляют в виде таблицы

SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U' 
12
задан Mike Woodhouse 21 July 2009 в 22:20
поделиться

2 ответа

Вот несколько руководств, которые должны помочь. По сути, существует два подхода к работе «многие ко многим»: has_and_belongs_to_many или has_many: through (рекомендуется).

ссылки:

  1. http://blog.hasmanythrough.com/2006/4/20/many-to -много-дэнс-офф
  2. http://railscasts.com/episodes/47-two-many-to-many
  3. http://railscasts.com/episodes/154-polymorphic-association
14
ответ дан 2 December 2019 в 06:09
поделиться

Я [добавил] еще один столбец в [ users_groups ] ... Вопрос в том, как сделать Я получаю к нему доступ из модели без использования пользовательский вызов SQL?

Похоже, вы хотите получить доступ к столбцу своей таблицы user_groups , вызвав метод в вашей модели User или вашей Group модель.

Некоторые предложения:

Я бы назвал таблицу « user_groups », чтобы она работала с ожиданиями плюрализации ActiveRecord, но я не уверен, что это важно.

Следуя совету Дейва, вы хотите настроить параметры с помощью метода « has_many: через » ...

# Declare a Model based on the many-to-many linking table.
class UserGroup < ActiveRecord::Base
  belongs_to :user
  belongs_to :group
end

class User < ActiveRecord::Base
  has_many :user_groups
  has_many :groups, :through => :user_groups
end

class Group < ActiveRecord::Base
  has_many :user_groups
  has_many :users, :through => :user_groups
end

Есть ли способ изменить третий столбец в этой таблице из пользовательской модели?

Это немного неясно, но имейте в виду, что у каждого пользователя может быть много групп пользователей . Так что, если вы хотите изменить этот третий столбец, вам нужно будет найти именно тот, который вы ищете.

2
ответ дан 2 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: