Seguendo la documentazione in questa pagina ... http://guides.spreecommerce.com/developer/calculators.htmlRegistrazione di un calcolatore di Spree personalizzato non funziona
Ho creato una classe in modelli/Spree/Calcolatrici/
module Spree
class Calculator::ZipTax < Calculator
def self.description
"Calculates Tax Rates From Zipcode in TaxRates Table"
end
def compute(computable)
case computable
when Spree::Order
compute_order(computable)
when Spree::LineItem
compute_line_item(computable)
end
end
def compute_order(order)
zipcode = order.bill_address.zipcode[0,5]
zip = TaxTable.where(:zipcode => zipcode).first
if(zip.present?)
rate = zip.combined_rate
order.line_items.sum(&:total) * rate
else
0
end
end
end
end
E in inizializzatori/Spree .rb Ho aggiunto:
config = Rails.application.config
config.spree.calculators.tax_rates << Spree::Calculator::ZipTax
Ma non riesco ad avviare Rails. Metodo non definito `< < 'per nil: NilClass (NoMethodError) nel file initializer/spree.rb.
Come si registra una calcolatrice personalizzata? Utilizzo di Spree 1.3.2.
Grazie tanto. La prossima volta saprò meglio che seguire i documenti di Spree da vicino;) –
Su una nota a parte per i calcolatori di spedizione, assicurati che il nome della classe sia 'Spree :: Shipping ::' affinché la tua calcolatrice appaia nel pannello di amministrazione https://github.com/spree/spree/blob/2a3f91229f65e1c0c7e16eb47da455d3488195bc/core/app/models/spree/shipping_method.rb#L50. Presto per rilasciare le versioni di Spree basta richiedere che i calcolatori di spedizione ereditino da 'Spree :: ShippingCalculator' https://github.com/spree/spree/blob/82fd0e0f762f17493c1609a998192272dab83e07/core/app/models/spree/shipping_method.rb#L50 –
davidtingsu
I pensi che questo dovrebbe essere effettivamente un nome di classe di Spree :: Calculator :: Shipping :: per farlo apparire nel Pannello di amministrazione. –
lightcap