Есть ли способ в Rails управлять полями базы данных и соответствующими методами доступа без «отличные генераторы»?создание полей базы данных без «отличных генераторов» рельсов
Я хочу, чтобы пользователи, если они были привилегированы, могли манипулировать структурой базы данных, то есть, по крайней мере, добавлять или удалять столбцы. У привилегированного пользователя должна быть возможность «Добавить новые» некоторые столбцы.
Скажет, у меня есть объект/таблица artist
и он должен «динамически» получить столбцы «дата рождения», «играл с», «проданными копиями»
Не уверены, если это DUP , Требуется предварительное решение ли Rails не позволяет пользователю сделать это t o начните с, или нет. (Если это так => конечно, некоторые NoSQL раствор)
В чистом рубин, по крайней мере, легко динамически добавить атрибут к существующей модели/класса, как этот
Test.class_eval do; attr_accessor "new_attribute"; end
и
Test.new.new_attribute = 2
вернется => 2
как ожидалось
для того, чтобы создать или манипулировать настроенную маску ввода/модель: я не могу вручную Идите так же, как и генераторы, и вручную вызовите ActiveRecord::Migration
методы, подобные add_column
, а также создайте методы getter/setter для ORM?
Если да или нет, то в обоих случаях, с чего они начинаются?
Спасибо!
Возможный дубликат [Rails: динамические столбцы/атрибуты на моделях?] (Http://stackoverflow.com/questions/26029700/rails-dynamic-columns-attributes-on-models) –
Меня это удивило бы, если бы это было необходимо передать схему базы данных вообще. Задача, которую я имею в виду, - это, например, дать пользователю системы магазинов возможность добавлять пользовательские категории товаров и по категориям, которые я не имею в виду «теги».Если купец хочет продать тип «Книги», его модели продукта потребуются другие поля, кроме типа «Велосипеды» или «Игры для ПК». Не говоря уже о подразделениях этих. Было бы смешно использовать «изящные генераторы» для этих задач, а также использовать их для работы со всеми возможными категориями. Это можно сделать с панели администратора. –
Вы подумали о более общем способе проектирования схемы базы данных, чтобы вам не понадобилась новая таблица для каждой категории продуктов? Вы можете использовать http://api.rubyonrails.org/classes/ActiveRecord/Store.html или написать собственное хранилище ключей для любых атрибутов, которые нужны пользователю. –