我有一个DocumentType
带有extensions
属性的模型。在我的表单中,我允许人们将这些扩展插入到表单中。
我希望能够在保存之前解析该输入,去除任何无效选项,将其转换为数组并让 Rails 对其进行序列化。
我有以下代码,但我最终得到的是用户以表单而不是数组提供的输入:
class DocumentType < ActiveRecord::Base
serialize :extensions
before_save :process_extensions
def process_extensions
self.extensions = [*self.extensions.gsub(/[^a-z ]+/i, '').split(' ')].uniq
end
end