在保存到数据库之前,检查rails会根据密钥形成数据

时间:2014-12-05 23:58:59

标签: ruby-on-rails forms validation ruby-on-rails-4

我正在尝试编写一个应用程序,允许用户通过使用表单向其帐户注册不同的ID号。 ID有自己的模型,表格如下:

mysql> show columns in hp_ids;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| id_string  | varchar(255) | YES  |     | NULL    |                |
| pin_number | int(11)      | YES  |     | NULL    |                |
| user_id    | int(11)      | YES  | MUL | NULL    |                |
| created_at | datetime     | YES  |     | NULL    |                |
| updated_at | datetime     | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

ID号保存在id_string

诀窍在于,为了注册一个id,用户必须输入相应的引脚才能证明他们有权注册它..

我想要做的是,每当有人试图注册一个新的ID / pin组合时,我想根据各种键检查它以确保它们具有正确的组合。我想我会创建一个名为IdKey的新模型或类似的东西,但我无法弄清楚如何在保存之前告诉控制器检查第二个模型的表单值。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

听起来像是conditionalcustom验证。

我可能误解了你的问题,但pin_number是否存在预先存在的价值?如果是这样,我猜它应该存在于另一个表中(可以在自定义验证期间查询)。