在将记录保存到 rails 3 之前销毁记录

Ell*_*iot 1 ruby ruby-on-rails ruby-on-rails-3

在我的模型中,我指定了一个 before_save 方法来运行,并根据一些数据检查新记录。如果新记录不是我想要的 - 我怎样才能阻止它被保存?

这基本上是我正在尝试做的(并且失败):

before_save :itemCheck

  def itemCheck
    if self.item_type_id == 1
        if self.num > 6
          self.destroy
        end
    end 
  end
Run Code Online (Sandbox Code Playgroud)

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

rdv*_*ijk 5

false从您的返回,before_save记录将不会被保存。

作为旁注:不要将驼峰式用于函数,而应使用: item_check

  • @Elliot Ruby 约定是对类和模块名称使用 `Upper::CamelCase`,对变量和方法名称使用 `snake_case`,对常量使用 UPPER_CASE (8认同)