我有以下代碼停止多個片段的製作如果不認可,但自從我創建的第一個片段沒有什麼參考等我怎麼會寫這將是一些幫助很有用。
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
我有以下代碼停止多個片段的製作如果不認可,但自從我創建的第一個片段沒有什麼參考等我怎麼會寫這將是一些幫助很有用。
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
檢查在試圖獲取其狀態之前是否確實存在最後一個片段。
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
這個工作,但我不得不改變self.last.try到Snippet.last.try?但我不明白爲什麼? –
.last方法應該在類上調用,而不是在實例對象上調用,並且在驗證回調中self是正在驗證的對象(實例) – Tumas
什麼實際問題,問題是,我不太清楚... –