1

我是 Rails 新手,正在学习本教程

我创建了一个名为 HighScores 的简单模型。

我想对此进行自定义,以便为分数添加验证方法。我知道我们可以使用像 validates_ 这样的快捷方式,但是出于学习的目的,我想编写一个方法来确保分数在一定范围内。

validate 方法应该去哪里?在models/high_score.rb还是在controllers/high_scores_controllers.rb?或者可能在`/helpers/high_scores_helper.rb 中?

4

2 回答 2

4

验证应该在模型中进行。

以下是范围验证的示例:

validates :score, :numericality => { :greater_than => 0 }
validates :score, :numericality => { :less_than => 100 }
于 2013-05-29T15:35:51.973 回答
4

模型具有正确数据的验证应该在模型本身中进行。这确保了未来保存模型数据的任何尝试都将使用此验证,无论采用何种路径。

models\high_score.rb

另外——FWIW,验证方法不是捷径,它们是您应该接受和使用的经过良好测试的代码。

于 2013-05-29T15:35:54.880 回答