Rails - 在哪里添加验证码? (控制器或型号)

时间:2013-05-29 15:31:49

标签: ruby-on-rails models

我是Rails的新手,正在关注this tutorial

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

我想自定义这个,以便我可以为分数添加验证方法。我知道我们可以使用像validates_这样的快捷方式,但为了学习,我想写一个方法来确保分数在一定范围之间。

验证方法应该放在哪里?在models/high_score.rbcontrollers/high_scores_controllers.rb?或者也许在`/helpers/high_scores_helper.rb?

2 个答案:

答案 0 :(得分:4)

验证应该放在模型中。

以下是范围验证的示例:

validates :score, :numericality => { :greater_than => 0 }
validates :score, :numericality => { :less_than => 100 }

答案 1 :(得分:4)

验证模型是否具有正确的数据应该放在模型本身中。这样可以确保将来保存模型数据的任何尝试都将使用此验证,无论采用何种路径。

models\high_score.rb

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