类型检查表(postgres)rails中的字段

时间:2016-02-28 18:11:17

标签: ruby-on-rails postgresql

我有一个表Student(class_id(整数),标记(整数),rank(整数))

在我的Seeds.rb文件中,我写了这样的东西,以便进入表格

Student.create(class_id:2,mark:“abcdef”,rank:2)

当我通过rake db:seed命令将这些数据添加到表中时,我希望我不允许添加此项,因为对于student的标记字段,正在插入字符串而不是整数。但是rails添加了此记录而没有任何问题。

所以我如何确保这种条目不会发生,我的桌子确保类型检查。我是铁杆和postgres的新手

1 个答案:

答案 0 :(得分:1)

因此,如下所示的验证将起作用。将其添加到Student模型。

validates :marks, numericality: { only_integer: true }

每当您尝试创建Student记录时,Rails将调用此验证。如果它通过则将创建recored,否则不会。有一些方法可以检查记录在rails中是否有效。

阅读指南,了解validation在rails中的工作原理。