Я столкнулся с проблемой, из-за которой я не могу окончательно решить, какие столбцы будет у одной из моих моделей.Вариант использования будет такой:
Администратор создает новый набор данных, он хочет, чтобы пользователи отвечали.В наборе данных администратор определяет несколько точек данных различного формата и единиц измерения.
Я мог бы представить классы похожими на это:
class Dataset < ActiveRecord::Base
has_many :measurements
has_many :profiles, :through => :measurements
has_many :datapoints, :through => :dataset_datapoint
end
# Join table
class Dataset_datapoint < ActiveRecord::Base
belongs_to :dataset
belongs_to :datapoint
end
class Datapoint < ActiveRecord::Base
has_many :dataset, :through => :dataset_datapoint
has_many :data
# create_table "datapoints" do |t|
# t.string :name
# t.string :format # e.g. string, decimal etc.
# t.string :unit # e.g. CM, pounds etc.
end
class Data < ActiveRecord::Base
belongs_to :datapoint
# create_table "data" do |t|
# t.integer :datapoint_id
# t.string :value # This column could be anything from string to decimal
end
В моей голове это кажется довольно динамичным,но все еще довольно легко реализовать.Что меня беспокоит, так это как сделать проверку для каждой модели данных, которая создается?Так как я не могу жестко закодировать проверку в модели?И чтобы сделать его еще более сложным, что, если некоторые точки данных требуют дополнительных проверок, таких как минимальное и максимальное значение?
Заранее спасибо, Джонас