В настоящее время обучение Rails, так что будьте нежны.Rails 3.0 has_many и принадлежит к головной боли ассоциаций.
Я хочу, чтобы проверить, что я получаю это право, прежде чем я перебарщивать:
Создание приложение, которое позволяет нашим «Клиенты», чтобы войти, и создать цитату. «Поставщики» (в этом случае владельцы конференц-залов) могут посмотреть кавычки и ответить на них предложением, которое клиент сможет просмотреть. У каждой учетной записи поставщика будет возможность иметь одну или несколько «Участков», которые принадлежат ей (например, если они используют целую сеть мест), и каждое сделанное предложение будет осуществляться из определенного места.
Другие сложные проблемы, с которыми я, вероятно, столкнусь позже, действительно ли это выглядит так, насколько это касается отношений?
P.S Я понимаю, что ниже на самом деле не код, который будет работать, я просто сложил его таким образом, пока я пытаюсь обогнуть его.
Customer (will be a type of user)
has_many :quotes
has_many :proposals, :through => :venue
Supplier (will be a type of user)
has_many :venues
has_many :proposals, :through => :venue
Venue
belongs_to :supplier
has_many Proposals
Quote
belongs_to :customer
Proposal
belongs_to :venue
И основные таблицы:
Customer
id
Supplier
id
Quote
id
customer_id
Venue
id
supplier_id
Proposal
id
venue_id
Там может быть гораздо лучший способ сделать это, используя has_ones и has_and_belongs_to_many и т.д., но я понятия не имею.
Благодаря
Как вы хотите '' клиентов, чтобы быть связано с ' venues'? Потому что, если вы хотите, чтобы «клиенты» имели множество «предложений» через «места проведения», «клиенты» также должны иметь множество «мест». –
Клиенты могут выбирать предложения из любого места - возможно, мне не нужны сквозные? Могу ли я удалить оба из них? –
Итак, вы должны удалить ': through' хотя бы из' Customer has_many: offers'. Как вы хотите, чтобы ваши «поставщики» были связаны с предложениями? –