向数组中添加哈希时,rails会将其转换为字符串



我正试图向数组中添加一个散列,如下所示:

rejects = self.user.rejects
rejects << {name: self.originalname, reason: reason}

用户拒绝是一个数组。这是迁移路线:

t.string :rejects, array: true, default: []

但我得到了这样的输出:

["{:name=>"wallhaven-56800.jpg", :reason=>"Quality not good enough"}"]

我该怎么解决这个问题?

我会尝试这样的东西:

rejects = []
#inside your loop:
the_hash = {}
the_hash[:name] = self.original_name
the_hash[:reason] = reason
rejects << the_hash

这可能不是最有效的,我相信你甚至可以在一条线上完成所有任务,但这是一个良好的开端。

最新更新