create_table :table_with_arrays do |t| t.integer :int_array, :array => true # integer[] t.integer :int_array, :array => true, :length => 2 # smallint[] t.string :string_array, :array => true, :length => 30 # char varying(30)[] end
create_table :table_with_arrays do |t|
t.integer :int_array, :array => true, :default => '{}'
# integer[], default == []
t.integer :int_array, :array => true, :length => 2, :default => '{1}'
# smallint[], default == [1]
end
create_table :users do |t| t.string :first_name t.string :last_name t.string :nicknames, :array => true end
class User < ActiveRecord::Base attr_accessible :first_name, :last_name, :nicknames end
john = User.create(:first_name => 'John', :last_name => 'Doe')
john = User.create(:first_name => 'John', :last_name => 'Doe', :nicknames => ['Jack', 'Johnny'])
john = User.first
john.nicknames += ['Jackie boy']
# 或者
john.nicknames = john.nicknames.push('Jackie boy')
# 任何时候,属性通过"="赋值,ActiveRecord会跟踪这个更改
john.save
john.reload
john.nicknames
#=> ['Jack', 'Johnny', 'Jackie Boy']
john.nicknames.pop
john.nicknames_will_change!
# '#pop'操作会改变数组的值,所以我们需要告诉ActiveRecord它将会发生更改
john.save
[[1,2,3], [2,3,4], [4,5,nil]] # 在PostgreSQL 可用,每个子数组元素个数一样 [1,2,[3,4]] # 不可用的数组
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有