# Validazione con risorse nidificate

**URL:** <https://www.ruby-forum.com/t/validazione-con-risorse-nidificate/224505>\
**Category:** IT\
**Created:** [November 14, 2012, 12:59pm UTC](https://www.ruby-forum.com/t/validazione-con-risorse-nidificate/224505 "2012-11-14T12:59:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [November 14, 2012, 12:59pm UTC](https://www.ruby-forum.com/t/validazione-con-risorse-nidificate/224505/1 "2012-11-14T12:59:30Z")

</div>

Buon giorno a tutti,  
mi invento due risorse per spiegare il problema in maniera semplice:  
ordine :has\_many articoli  
articoli è nidificata per cui nel form di ordine posso avere diversi  
articoli tra cui uno vuoto per aggiungerne

Per evadere ordine (stato =\> evaso) gli articoli devono essere in stato  
“disponibile” e se un ordine è evaso non posso aggiungere altri articoli  
sempre per la stessa regola in quanto i nuovi sarebbero in stato  
“valutazione”

Le validazioni eseguite singolarmente funzionano ma se evado un ordine e  
contemporaneamente aggiungo un articolo passa le validazioni sui due  
modelli che poverine controllano i dati tramite le relazioni, sul db.

Sinceramente è la prima volta che mi capita ma non trovo il modo  
corretto di farlo.

Se intervengo su :reject\_if ottengo il risultato ma con un rifiuto  
silenzioso ma sarebbe opportuno notificare l’errore.

Sicuramente c’è un modo per controllare cosa un utente sta cercando di  
fare su un form dati, ma quale

---

<div class="post-metadata">

**Author:** ![triplem](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/b19c9b/32.png) [@triplem](https://www.ruby-forum.com/u/triplem)\
**Post date:** [November 14, 2012, 4:34pm UTC](https://www.ruby-forum.com/t/validazione-con-risorse-nidificate/224505/2 "2012-11-14T16:34:25Z")

</div>

Risolto, colpa mia.  
Il controllo veniva effettuato sul db perchè utilizzavo una relazione  
“shortcut” che fornisce direttamente gli articoli non-disponibili. Se  
invece nella validazione ci si riferisce alla risorsa nidificata tramite  
la relazione has\_many usata dalla nidificazione funziona tutto e si  
hanno a disposizione tutti i modelli del form, db e non db.
