我是Rails的新手,正在关注this tutorial
我创建了一个名为HighScores的简单模型。
我想自定义这个,以便我可以为分数添加验证方法。我知道我们可以使用像validates_这样的快捷方式,但为了学习,我想写一个方法来确保分数在一定范围之间。
验证方法应该放在哪里?在models/high_score.rb
或controllers/high_scores_controllers.rb
?或者也许在`/helpers/high_scores_helper.rb?
答案 0 :(得分:4)
验证应该放在模型中。
以下是范围验证的示例:
validates :score, :numericality => { :greater_than => 0 }
validates :score, :numericality => { :less_than => 100 }
答案 1 :(得分:4)
验证模型是否具有正确的数据应该放在模型本身中。这样可以确保将来保存模型数据的任何尝试都将使用此验证,无论采用何种路径。
models\high_score.rb
另外 - FWIW,验证方法不是捷径,它们是经过良好测试的代码,您应该接受并使用它。