Дополнительно
Как создать экземпляр класса из строки имя в Rails?
Как мы можем создать экземпляр класса из это's имя строки в Руби-на-рельсах?
Например у нас это's имя в базу данных в формате, как на "класса" или "my_super_class_name и".
Как мы можем создать объект из него?
Решение:
Искал сам, но не нашел, так что вот. Руби-на-рельсах метод API
name = "ClassName"
instance = name.constantize.new
Это может быть даже не отформатированы, мы можем методом string пользователей .классифицировать
name = "my_super_class"
instance = name.classify.constantize.new
Конечно может это и не очень 'рельсы путь', но он решает это'с целью.
67
4
о методах класса
Другие могут также быть ищу альтернативу, которая не вызовет ошибки, если не удается найти класс.
safe_constantize
- это просто.в
Вы можете просто преобразовать строку и инициализации класса из него:
Чтобы инициализировать новый объект:
Надеюсь, это окажется полезным. Спасибо!
Я'м удивлены, что никто не рассматривает безопасность и хакерство в своих ответах. Создание произвольной строкой, которая, вероятно, пришел даже косвенно от ввода пользователя может привести к неприятностям и взлома. Мы все должны/должен быть белый, если мы не'будете уверены, что строки полностью управляться и контролироваться
Как вы знали бы, произвольно соответствующие параметры без вайтлиста будет сложно, но вы получаете идею.