Rails创造!具有嵌套属性

时间:2014-04-27 07:35:55

标签: ruby-on-rails activerecord has-many griddler

我的应用每次收到电子邮件时都会写一封电子邮件表。

我传入一个电子邮件对象来创建记录,但没有弄清楚如何翻译email.to属性,这是一个哈希数组。

我有相应的EmailAddress有许多模型设置,具有适当的属性来转移!

电子邮件模型has_many:email_addresses,class_name:" EmailAddress",as:" email_addressable"。

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 个答案:

答案 0 :(得分:0)

如果您希望能够使用嵌套属性创建新的电子邮件及其关联的新EmailAddresses,则应在电子邮件模型中添加accepts_nested_attributes_for :email_addresses。您可以从StackOverflow答案中了解更多信息:How is attr_accessible used in Rails 4?

我假设您正在使用Rails 4。