我的数据库中有一个文本字段序列化为数组:
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"
为什么会发生此错误?我以为我向该方法传递了一个数组。我该如何解决这个问题?
最佳答案
尝试添加 to_yaml
:
@email_message.from = [current_user.email].to_yaml
此外,如果您还没有,请将
from: []
添加到您的强参数中。有时这是一种常见的疏忽。
关于ruby-on-rails - 属性应该是一个数组,但是是一个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39885174/