В моем приложении у меня две модели: Task
и Guideline
. Каждый Task
может иметь много Guidelines
, и каждый Guideline
может принадлежать многим Tasks
. Как бы установить связь между этими двумя моделями, если это возможно даже с ActiveRecord
? Я думал о структурировании его следующим образом:Rails 4 - Как структурировать отношения модели?
class Task < ActiveRecord::Base
has_many :guidelines
end
class Guideline < ActiveRecord::Base
belongs_to :task
end
Однако, я понимаю, что belongs_to
будет ассоциировать Guideline
только один Task
, установив его task_id
поле. Это означает, что если заданный Guideline
назначен другому Task
, первая ассоциация будет потеряна. Пожалуйста, поправьте меня, если я ошибаюсь.
Я изучил отношения has_and_belongs_to_many
, но Guidelines
не может быть Tasks
; они могут принадлежать только многим задачам. В настоящее время у меня есть система, в которой я храню в массиве идентификаторы всех выбранных Guidelines
для данного Task
, но я предпочел бы использовать встроенные ассоциации, если это возможно.
Любая помощь была бы принята с благодарностью.
От многих до многих отношений? =) http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association – Gerep