在模型验证失败时在类型转换之前显示属性

时间:2017-06-08 19:28:39

标签: ruby-on-rails activerecord casting

我有一个表单,用户可以在其中输入数字。用户只应在表单中输入整数,并且有一个模型级验证来检查。当然,数据作为参数中的字符串出现,并由Rails转换为正确的数据类型(int)。

如果用户在特定表单字段中输入错误数据(如字母或小数),则验证不会通过,表单将重新呈现。然而,当用户被带回到表格时,输入的数据未被显示 - 演员数据出现在该字段中。有没有办法在验证失败后在表单中返回类型之前显示属性?

1 个答案:

答案 0 :(得分:3)

rails中有_before_type_cast个助手

你可以像这样使用它:

u = User.first
u.phone
u.phone_before_type_cast

或者在您的表单中,您可以使用params中的值填充该字段。

如果您发布表单代码段

,将会对您有所帮助