0

下午

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

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
4

1 回答 1

1

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

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

或者

def stop_create
   errors.add(:base, "could not add due to last snippet not approved") if Snippet.last.try(:approved) == false
 end
于 2013-10-28T12:59:36.950 回答