我有以下对象:
create_table :expenses do |t|
t.belongs_to :user, index: true
t.string :ref
t.string :days
t.string :traject_names
t.string :nb_kms
t.string :parkings
t.string :trains
t.string :taxis
t.string :metros
t.string :meals
t.string :hotels
t.string :natures
t.string :amounts
t.string :o_ns
t.string :clients
t.timestamps
end
我想在每个中存储一个数组。我应该使用serialize
吗?
这将是这样的:
@expense = Expense.create(ref: @current_date, days: {["Monday 01"], ["Tuesday 02"]})
答案 0 :(得分:1)
@expense = Expense.create(ref: @current_date, days: ["Monday 01", "Tuesday 02"])
这种方式是天数,您只需要将serialize
添加到模型中,它将在读/写时处理格式化数据
class Expense < ActiveRecord::Base
serialize :days
end
它将作为字符串存储在db
中,但是当您获得days
的值时,您将获得Array
,然后可以使用任何Array
方法。