私は基本的に請求書を持っていますし、post_statusはゼロです。クローズに設定されていると、ユーザーはこれ以上編集できません。railsは検証する前にレコードをテーブルに保存しますか?
validate :post_status, :if => :opened?
def opened?
if (post_status == 'Closed')
errors.add(:base, "Already Closed")
return false
end
return true
end
これは私が持っているものであるが、私はクローズに設定されている場合、それはすでにそれを検証が開始し、私は本当にクローズに設定傾けます。私はそれが私のpost_statusを閉鎖に設定できるようにしたいので、次に編集したいときは、既に閉じているのでもう編集できません。
それは私にエラーを与え、それはあなたが検証しにSを取り出す少なくとも一つの検証 – Oscar
を供給する必要があるが、私はクローズにそれを設定すると、検証は私がそれを設定することができますdoesntのどの既に蹴る始まりと言いますまったく閉じます。それはすでにそれを検出しているので、テーブルは閉じられたままで保存されません。 – Oscar
それを指摘してくれてありがとう。私は答えを更新しました –