2015-09-21 3 views
2

Я новичок в RoR, и я создаю приложение, которое будет иметь три сущности, которые связаны следующим образом:Как смоделировать эти отношения в приложении RoR

Foo (1)  : FooBar (1..N) 
FooBar (1) : FooBarBar (0..M) 

Я знаю, как создать модель в базы данных с помощью инструкций DDL, но его не ясно, как эта модель в рамках RoR (я не нахожу документацию очень четкий)

+1

'Foo HAS_MANY: foo_bars',' ИмяСтраницы HAS_MANY: foo_bar_bars' является обычной нотации. Rails не применяет минимальные значения в отношениях 'has_many', поэтому вам придется делать это самостоятельно. – tadman

ответ

0

Documentation очень четкое представление о вложенных ассоциаций:

Th e has_many: через Ассоциацию A has_many: через ассоциацию часто используется для установления соединения «многие-ко-многим» с другой моделью. Эта ассоциация указывает, что модель объявления может быть сопоставлена ​​ с нулем или более экземплярами другой модели, пройдя через третью модель . Например, рассмотрите медицинскую практику, когда пациенты проводят встречи с врачами.

enter image description here

class Foo < ActiveRecord::Base 
    has_many :foo_bars 
    has_many :foo_foo_bars, through: :foo_bars 
end 

class FooBar < ActiveRecord::Base 
    belongs_to :foo 
    has_many :foo_foo_bars 
end 
Смежные вопросы