Я совершенно новый разработчик ruby (rails), и мне нужно связать поведение сложного объекта. Я постараюсь объяснить как можно больше.Ruby sub-oject с динамикой присутствия полей
У меня есть объект A, в котором я хотел бы содержать массив сущностей (B), которые имеют булевую базу и тип. Если это логическое значение истинно, могут быть установлены другие свойства (и поля ввода могут отображаться на панели управления).
Я действительно не хочу создавать отдельный объект (B).
Я знаю, что могу использовать Struct.new(..)
, но не знаю, может ли он использоваться.
Кстати, массив объектов B может быть инициализирован при создании объекта A зависит от параметров A и B.
Так что мои вопросы:
- ли лучше использовать отдельный объект или объекты для
Struct.new(...)
B? - Как я могу управлять другими параметрами B зависит от типа?
Надеюсь, это понятно.
Благодаря
Все в рубине - это объект. Таким образом, B будет отдельным объектом независимо от того, что вы делаете. Или вы имели в виду, что вы не хотите создавать класс для B? – max
Да, я действительно не хочу создавать класс для B, потому что мне не нужно управлять событиями там, где есть собственный объект A –
Я бы моделировал это с помощью ассоциации ActiveRecord между объектами A и B. Ассоциации могут упростить для A для управления B в зависимости от вашего варианта использования. http://guides.rubyonrails.org/association_basics.html – eeeeeean