Ich habe Modelle, die mit has_many through
verknüpft sind. Ich bin in der Lage, eine Beziehung in eine Richtung, aber nicht die andere zu bekommen (es gibt keine Einstellung)Abrufen von ActiveRecord-Verknüpfungen orders_to bis
Projects
have_many Datensätze durch taskflows
. Taskflows
sind in einer Join-Tabelle mit datasets
verknüpft.
Ich kann Project.datasets
einfach mit der has_many through
Einstellung tun. Ich möchte auch dataset.project
aufrufen, um das zugehörige Projekt von dataset
(über taskflow
) zu erhalten.
Ist das möglich? Vielen Dank für jede Hilfe.
Ich habe vier Modelle (Ich habe die Delegierten Einstellung versucht, aber es scheint nicht zu funktionieren):
class Project < ActiveRecord::Base
validates :title, presence: true, length: {minimum: 3}
has_many :taskflows
has_many :datasets, :through => :taskflows
end
class Taskflow < ActiveRecord::Base
belongs_to :project
has_many :dataset_assignments
has_many :datasets, :through => :dataset_assignments
end
class Dataset < ActiveRecord::Base
has_many :dataset_assignments
has_many :taskflows, :through => :dataset_assignments
delegate :project, :to => :taskflows, :has_nil =>true
end
class DatasetAssignment < ActiveRecord::Base
belongs_to :dataset
belongs_to :taskflow
end