Рельсы создают! с вложенными атрибутами
Я пишу на электронную почту каждый раз, когда мое приложение получает электронные письма.
Я передаю объект электронной почты для создания записи, но не могу понять, как преобразовать свойство email.to, представляющее собой массив хэшей.
У меня есть соответствующий EmailAddress, у которого есть много моделей с соответствующими атрибутами для передачи!
Модель электронной почты имеет: имя_почты: адреса электронной почты, имя_класса: "адрес электронной почты", как: "адрес_адреса электронной почты".
class EmailProcessor
def self.process(email)
Email.create!({
body: email.body,
subject: email.subject,
email_addresses: email.to
})
end
end
Пример того, что я считаю, email.to будет выглядеть так:
email.to = [{
:token => "A",
:email => "A2",
:full => "A3",
:name => "A4"
},{
:token => "B",
:email => "B2",
:full => "B3",
:name => "B4"
}]
1 ответ
Вы должны добавить accepts_nested_attributes_for :email_addresses
в вашей модели электронной почты, если вы хотите иметь возможность создавать новую электронную почту вместе со связанными с ней новыми адресами электронной почты, используя вложенные атрибуты. Вы можете узнать больше из этого ответа Stackru: как attr_accessible используется в Rails 4?
Я предполагаю, что вы используете Rails 4.