ROR ACTIVERECORD مع التعامل مع رد الاتصال قبل _update
-
21-09-2019 - |
سؤال
هذا الرمز ينتج ActivereCordror:
يجب أن تكون عمليات الاسترجاعات رمزًا يدل على طريقة الاتصال ، أو سلسلة يتم تقييمها ، أو كتلة يتم استدعاؤها ، أو كائن يستجيب لطريقة رد الاتصال. "
before_update :check_instock, :unless => Proc.new { |inventory| inventory.needed.nil? }
def check_instock
if needed < amount
instock = true
else
instock = false
end
end
يتم وضع هذا الرمز في نموذج المخزون الخاص بي ، أحاول التعامل مع بعض المنطق قبل الاتصال @stick.update_attributes (وحدة التحكم). في السابق كنت أتصل @stick.update_attributes عدة مرات ، مما أدى إلى ذلك عمل, ، وإن لم يكن بإيجاز.
هتافات!
المحلول
before_update :set_instock, :unless => :inventory_not_needed?
private
def set_instock
self.instock = (needed < amount) ? true : false
end
def inventory_not_needed?
needed.nil?
end
لا تنتمي إلى StackOverflow