Ruby on rails 创建方法rails上的TypeError(没有将数组隐式转换为字符串)活动记录

Ruby on rails 创建方法rails上的TypeError(没有将数组隐式转换为字符串)活动记录,ruby-on-rails,arrays,activerecord,ruby-on-rails-5,Ruby On Rails,Arrays,Activerecord,Ruby On Rails 5,我有下面的型号 class Business < ApplicationRecord { :id => :integer, :business_name => :string, :place_id => :string, :surburb => :string, :type => :text, :created_at => :datetim

我有下面的型号

class Business < ApplicationRecord {
               :id => :integer,
    :business_name => :string,
         :place_id => :string,
          :surburb => :string,
             :type => :text,
       :created_at => :datetime,
       :updated_at => :datetime
}
在我的控制器中,我运行以下命令

business=business.create!商业参数

但我得到的错误是TypeError没有将数组隐式转换为字符串。我的类型列定义如下

change_column :businesses, :type, :text, array: true, default: [], using: "(string_to_array(type, ','))"
所以至少我知道我的类型列可以接受数组,但我不确定为什么会出现这个错误

在我的业务模型中,我还添加了以下序列化:类型、数组,但它也没有帮助。我也犯了同样的错误

我如何解决这个问题

我使用的是Rails 5.1,这是因为Rails在STI实现中默认使用类型列

禁用STI应有助于:

class Business
  self.inheritance_column = nil
end

不错的一个@igor。知道了。我刚改了我的列名,你应该接受这个解决方案,因为它回答了你的问题,只是为了奖励他,这是一种表达感谢的方式@金斯利蒙如果你认为问题已经得到了回答,那么接受它并将其标记为已完成
class Business
  self.inheritance_column = nil
end