在PostGres数据库中存储复选框的最佳方法是什么

时间:2016-10-03 15:42:21

标签: ruby-on-rails ruby postgresql checkbox database-migration

将学生车辆存放在数据库中的最佳方法是什么? 他们可以选择自行车,踏板车或汽车。

有人说最好的方法是在数据库中存储一个哈希值(属性类型是什么?)另外说最好的方法是创建一个Has many:through association。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果车辆本身没有任何数据并且您使用的是Postgres 9.2或更新版本,那么我建议将车辆存放在学生桌上的车辆列中。如果车辆可能有关于他们自己的信息,例如他们有多少车轮,最高车速,重量等等,那么通过与学生的关系创建一个带有belongs_to / has_many的车辆表,你会好得多。

更新:如果您想将一个接受数组的列添加到学生表中以保存车辆,您可以执行以下迁移:

 def change
   add_column :students, :vehicles, :string, array: true, default: []
 end