Ich habe eine has_many :through
Assoziation zwischen einigen Modellen, die bestimmen, welche Datensätze auf bestimmten Dashboards sichtbar sind.Checkboxen für has_many through, mit zusätzlichen Join-Tabelle Attribut
class Dashboard < ActiveRecord::Base
has_many :dashboard_datasets
has_many :datasets, :through => :dashboard_datasets
end
class DashboardDataaset < ActiveRecord::Base
belongs_to :dashboard
belongs_to :dataset
end
class Dataset < ActiveRecord::Base
has_many :dashboard_datasets
has_many :dashboards, :through => :dashboard_datasets
end
Das Formular für einen neuen Dashboard
dann die Schaffung hat einen einfachen Satz von Kontrollkästchen namens dataset_ids[]
, damit Sie die vorbestehenden Datensätze ich an diesem Armaturenbrett angezeigt werden soll auszuwählen.
class DashboardForm < Reform::Form
model: :dashboard
property :name
property :description
collection :dataset_ids
end
So weit, so einfach ...
ich jetzt aber suche eine zusätzliche Assoziation zu der Join-Tabelle hinzuzufügen, das ‚Layout‘ zu bestimmen, die für verwendet werden sollen dieser Datensatz auf dem gegebenen Dashboard. d.h. Raster, Tabelle, Liste. etc
class Layout < ActiveRecord::Base
has_many :dashboard_datasets
end
class DashboardDataaset < ActiveRecord::Base
belongs_to :dashboard
belongs_to :dataset
belongs_to :layout
end
Ich möchte jetzt meine Armaturenbrett Form anzupassen, so dass auf die Kontrollkästchen für jeden Datensatz Kontrollkästchen neben der ausgewählt wird, gibt es eine Select-Box ist für mich das Layout zu wählen, um auf dieser gegeben werden Verband.
Wo fange ich an? Erweitern Sie die collection
auf dem Formularobjekt, um reicher zu sein und mehr Informationen zu enthalten?
Sehr zu schätzen jeden Hinweis.