将模型属性设置为数组

时间:2018-08-29 20:29:14

标签: ruby-on-rails arrays database model rails-activerecord

在Web上还有其他一些StackOverflow问题和其他文章之后,我试图向我的模型之一添加数组属性。

  

rails g迁移add_new_attribute_to_my_model new_attribute:text

然后在迁移文件中

def change
  add_column :my_model, :new_attribute, :text, default: [].to_yaml
end

(因为如果我这样做

def change
  add_column :my_model, :new_attribute, :text, default: [], array:true
end

我在迁移过程中得到了TypeError: can't quote Array

  

rake db:migrate

my_model_controller.rb

class MyModelController < ApplicationController

  class MyModel < ActiveRecord::Base
    serialize :new_attribute,Array
  end

  ...

end

但是这样我得到

  

a = MyModel.new
  => MyModel ... new_attribute:“ --- [] \ n”>
  a.new_attribute <<“ asd”
  => MyModel ... new_attribute:“ --- [] \ nasd”>

我应该在哪里修复该过程?

0 个答案:

没有答案