Создание пользовательских моделей и таблиц SQL в Ruby on Rails 4

Рассматривая сценарий системы управления запасами. Инвентарь имеет много типов предметов, каждый со своей таблицей и столбцами. Одной, двух или двенадцати таблиц недостаточно, чтобы описать множество ТИПОВ предметов, поскольку они чрезвычайно различны. например, некоторые атрибуты семейства предметов, таких как BIKES, не имеют одинаковых атрибутов CARS. Разработчику утомительно учитывать тысячи ТИПОВ предметов и включать их в каждую модель вручную.

Есть ли способ для пользователей самим создавать модели? создавая собственные таблицы SQL и т. д. Есть ли другой подход к этой проблеме? (Возможно, с использованием технологий семантической паутины)

Исходя из Spring Framework, я довольно новичок в разработке RoR.

Заранее спасибо.

1 ответ

Я не эксперт, но вы могли бы сделать это с помощью стандартных, заранее определенных моделей.

  • Item_Type
  • Item_Attribute
  • Item

Item_Type будет иметь переменную имени (не уникальную) и, возможно, любые другие общие атрибуты, которые вы захотите. Тогда бы has_many Item_Attributes отношения, тогда как Item_Attributebelongs_to Item_Type,

Так что я бы сделал вид, который позволяет пользователю добавлять новые Item_Typeс, а затем определить Item_Attributes для этих типов предметов.

Тогда вы могли бы иметь фактическое Item модель, каждый экземпляр которой является существование Item_Type в инвентаре. Item принадлежит Item_Type, а также Item_Typehas_manyItems, а также Item не может иметь ноль Item_Type,

Таким образом, пользователь создает новый Item_Type с именем "BIKE", затем добавляет несколько Item_Attributeс ним, например, "гора" и "красный". Затем пользователь может создать новый Item что имеет отношение к "ВЕЛОСИПЕДУ" Item_Type,

Если бы они хотели добавить синий горный велосипед вместо красного, им нужно было бы снова пройти процесс, добавив еще один Item_Type "BIKE", за исключением добавления "Blue" в качестве атрибута для нового экземпляра Item_Type"s Item_Attributes.

Другие вопросы по тегам