2011-09-24 29 views
0

在我的模型中,我指定了before_save方法来运行,并根据某些数据检查新记录。如果新记录不是我想要的 - 我怎样才能阻止它被保存?销毁记录,然后将其保存到rails 3中

这里基本上是我想要做的(和失败):

before_save :itemCheck 

    def itemCheck 
    if self.item_type_id == 1 
     if self.num > 6 
      self.destroy 
     end 
    end 
    end 

注:我的代码是比这更复杂 - 只是做一个简单的例子。

回答

4

从您的before_save返回false并且记录不会被保存。

作为旁注:不要使用驼峰功能,但使用:item_check

+0

我很好奇 - 为什么我不应该使用驼峰功能? – Elliot

+7

@Elliot Ruby约定是为类和模块名称使用'Upper :: CamelCase',为变量和方法名称使用'snake_case',为常量使用UPPER_CASE – axelarge