Model macierzysty Zamówienie has_many Sprzedaż. Kiedy chcę zniszczyć porządku, związane sprzedaży powinien również dostać zniszczone, ale zawsze prowadził do błędu, gdy robi tak: podświetlonyRails4: Nie można zmodyfikować hash zamrożonego.
RuntimeError in OrdersController#destroy
Can't modify frozen hash
Linia ta get: self.price = mrr * self.quantity.to_f
.
Niszczenie wszystkich powiązanych rekordów sprzedaży ręcznie krok po kroku działa bezbłędnie. Po tym, jak sprzedaż nie jest już powiązana, jestem w stanie zniszczyć rekord Orderso.
Model Sprzedaż:
class Sale < ActiveRecord::Base
belongs_to :order, inverse_of: :sales
validates :order, :product, :product_group, :presence => true
before_create :price
def price
mrr = Warehouse.where(:product => self.product).pluck(:mrr).shift.strip.sub(',', '.').to_f
self.price = mrr * self.quantity.to_f
end
end
Model Zamówienie:
class Order < ActiveRecord::Base
has_many :sales, dependent: :destroy, inverse_of: :order
end
jakieś pomysły? Z góry dziękuję!
Dziękuję bardzo! To działa! – CottonEyeJoe