se il confronto mi restituisce true, in entrambi i casi. Vorrei che
aggiornasse la quantità, sommandola alla nuova quantità. Come posso
passarli l’id del elemento da aggiornare???
esatto, scrivendo di corsa ci sono scappati un paio di typos. comunque
spero di aver reso lidea
ciao,
A.
@prodotto = elemento_params[:prodotto_id]
Okey, ho risolto i vari confronti, aggiungendo un controllo in pi sulla @ordine = current_ordine
se il confronto mi restituisce true, in entrambi i casi. Vorrei che
–
Ml mailing list [email protected] http://lists.ruby-it.org/mailman/listinfo/ml
Nella vista hai @elemento.errors.any? ; quando @elemento non definito
nel
controller il suo valore nil, per cui avrai nil.errors che chiama il
metodo errors su nil, e quindi d errore.
Nel controller hai
if elementi.any?
elementi.each {|elemento| elemento.quanita += 1 }
else @elemento = @ordine.elementi.new(elemento_params)
end
per cui quando elementi.any? true @elemento non viene definito, dando
luogo all’errore. Dovresti dare un valore coerente ad @elemento anche in
quel caso, oppure nella vista controllare che @elemento sia definito
prima
di chiamare @elemento.errors.
Quindi, richiamando elementi.any? ottengo true che e un valore nil,
giusto?
true non un valore nil O.o quando parlavo di nil intendevo il codice
nella vista, cio @elemento.errors.any? , nello specifico @elemento.errors
; il metodo .any? non viene neanche chiamato dato che l’errore gi in @elemento.errors , essendo @elemento nil. Mi sa che stai facendo
confusione
Dato l’approccio botta e risposta, consiglio vivamente di creare un
repository Github.
Xx Xx: hai un account di messaggistica che usi? Così ti aiuto
velocemente a
configurare il repository
Se nella vista richiama @elemento.errors ed @elemento nil d errore, e
questo errore scaturisce nel momento in cui non definisci @elemento nel
controller… ci siamo?
Quindi, richiamando elementi.any? ottengo true che e un valore nil,
giusto?
Quindi dovrei definire quel nil?
Questa non e’ esattamente una lacuna e ti consiglerei di passare ad
esercizi in ruby. Solo dopo dovresti passare a rails e questo a mio
avviso e’ il motivo delle tue difficoltà.
Ti aiuterei ma purtroppo non è chiaro il problema e non ho potuto
leggere tutto per capirlo.
Quindi, richiamando elementi.any? ottengo true che e un valore nil,
giusto?
Quindi dovrei definire quel nil?
Questa non e’ esattamente una lacuna e ti consiglerei di passare ad
esercizi in ruby. Solo dopo dovresti passare a rails e questo a mio
avviso e’ il motivo delle tue difficoltà.
Ti aiuterei ma purtroppo non è chiaro il problema e non ho potuto
leggere tutto per capirlo.
Ciao Marco ^^
qui puoi vedere la parte che mi da l’errore (oramai sono certo quale sia
l’errore). Mentre qui…
trovi il progetto che sono andato a “modificare” (lo solamente tradotto
:P)
in pratica, il mio obbiettivo e impedire la creazione di oggetti
multipli.
In pratica permetto la creazione di un elemento (max 1 prodotti, con 3
taglie diverse, quindi tre prodotti uguali con taglie diverse).
Poi in caso il prodotto e la taglia sono uguali, voglio sommare la nuova
quantità con quella vecchia.
Sono riuscito a fare i vari confronti (max 1 prodotti, con 3 taglie
diverse, quindi tre prodotti uguali con taglie diverse), ma non riesco a
puntare l’elemento specifico a qui sommare la quantità ^^