我的数据库中有一个文本字段序列化为数组:
class EmailMessage < ActiveRecord::Base
serialize :from, Array
在保存ActiveRecord对象之前,我为方法指定了一个值:
@email_message.from = [current_user.email]
但是对象不能保存。相反,我得到一个错误:
Attribute was supposed to be an Array, but was a String. -- "user@gmail.com"
为什么会发生这种错误?我以为我把数组传递给了方法。我该如何解决这个问题?
答案 0 :(得分:2)
尝试添加to_yaml
:
@email_message.from = [current_user.email].to_yaml
此外,如果您还没有,请将from: []
添加到您的强参数中。
这有时是一种常见的疏忽。