отношения многие ко многим в рельсах 3 - PullRequest
2 голосов
/ 03 марта 2011

Я создал 2 модели в рельсах и изменил классы моделей, чтобы добавить отношение многие ко многим (с has_and_belongs_to_many)

class User < ActiveRecord::Base
  has_and_belongs_to_many :categories
end
class Category < ActiveRecord::Base
  has_and_belongs_to_many :users
end

Когда я создаю пользователя через веб-интерфейс, я не являюсьпопросили выбрать несколько категорий.

Я что-то пропустил?Я читал, что требовалась другая таблица, но она показала, что это было в случае has_many, а не has_and_belongs_to_many оператора.

Не могли бы вы помочь?

Я думаю, что это новичоквопрос, но ...

Большое спасибо,

С уважением,

Люк

Ответы [ 2 ]

3 голосов
/ 03 марта 2011

Для HABTM вам нужна таблица соединений с названием category_users.Используйте эту миграцию:

def self.up
  create_table :categories_users, :id => false  do |t|
    t.integer :category_id
    t.integer :user_id
  end
end
0 голосов
/ 03 марта 2011

Как выглядит ваш взгляд? Леса Rails не будут учитывать многие ко многим, поэтому вам придется обращаться с ними самостоятельно.

Как выглядит ваше хранилище данных? Если вы используете RDBMS, то для многих или многих отношений вам обычно требуется таблица соединений. Многие ко многим естественным образом не обрабатываются большинством (всеми?) Базами данных SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...