除非.first,否则Stop_create

时间:2013-10-28 12:54:16

标签: ruby-on-rails validation

下午

如果没有批准,我有以下代码停止创建更多代码段,但由于我正在创建第一个代码段,因此没有任何内容可供参考,因此我将如何编写此代码的一些帮助将非常有用。

validate :stop_create, :on => :create

    def stop_create
        errors.add(:base, "could not add due to last snippet not approved") if self.last.approved == false
end

1 个答案:

答案 0 :(得分:1)

在尝试获取其状态之前,检查最后一个片段是否确实存在。

 def stop_create
   errors.add(:base, "could not add due to last snippet not approved") if Snippet.last && Snippet.last.approved == false
 end

OR

def stop_create
   errors.add(:base, "could not add due to last snippet not approved") if Snippet.last.try(:approved) == false
 end