# Rails e form da array di oggetti

**URL:** <https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673>\
**Category:** IT\
**Created:** [March 30, 2007, 9:48pm UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673 "2007-03-30T21:48:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![worzeel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f4b2a3/32.png) [@worzeel](https://www.ruby-forum.com/u/worzeel)\
**Post date:** [March 30, 2007, 9:48pm UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673/1 "2007-03-30T21:48:48Z")

</div>

Salve,  
Volevo sapere voi come gestireste un modello (diciamo ModelA ), in  
relazione :has\_many con  
un altro modello (diciamo ModelB) , in modo da inserire con un unico  
form tutti i dati per ModelA  
e i dati per svariate copie di ModelB ?

Grazie

Antonio

---

<div class="post-metadata">

**Author:** ![worzeel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f4b2a3/32.png) [@worzeel](https://www.ruby-forum.com/u/worzeel)\
**Post date:** [March 30, 2007, 10:08pm UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673/2 "2007-03-30T22:08:51Z")

</div>

ciao,

basta che usi la nomenclatura di rails.

per esempio hai due tabelle Country e City, ogni città ha un solo country  
quindi nel modello userai belongs\_to :country mentre ogni country può avere  
più città e nel modello country metti has\_many :city.  
una volta fatto questo basta che scrivi una cosa del tipo

Country.find(:all,:include =\> [:city])

e ti ritroveray con un array do country ognuno contenente il suo array  
di  
oggetti city.

spero di esser stato abbastanza chiaro.

Andrea

----- Original Message -----  
From: “Antonio B.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Friday, March 30, 2007 9:48 PM  
Subject: [ruby-it] Rails e form da array di oggetti

> Antonio

* * *

* * *

Ml mailing list  
removed\_email\_address@domain.invalid  
[http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

---

<div class="post-metadata">

**Author:** ![worzeel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f4b2a3/32.png) [@worzeel](https://www.ruby-forum.com/u/worzeel)\
**Post date:** [March 31, 2007, 1:29am UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673/3 "2007-03-31T01:29:20Z")

</div>

Grazie per la risposta,  
per quanto riguarda il modello cio’ che hai detto e’ chiaro, pero’ io  
volevo sapere come gestire poi, seguendo il tuo esempio, un form di  
inserimento di una Country che pero’ mi dia nello stesso form la  
possibilita’ di inserire 10 City per esempio.

Antonio

---

<div class="post-metadata">

**Author:** ![worzeel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f4b2a3/32.png) [@worzeel](https://www.ruby-forum.com/u/worzeel)\
**Post date:** [March 31, 2007, 12:56pm UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673/4 "2007-03-31T12:56:04Z")

</div>

crei un oggetto country e N oggetti city, popoli i modelli e quando vai  
a  
salvare salvi prima il country(per recuperare l’ id da inserire nelle  
city)  
e poi salvi le city.

ora prova ad implementarlo così poi quando tutto funziona ti consiglio di  
usare le transaction, praticamente esegue in blocco tutte le query al db  
e  
anche se solo una non va a buon fine annulla l’ operazione così se per  
esempio non ti salva una city o il country non ti salva nemmeno gli  
altri  
record.

Saluti Andrea

----- Original Message -----  
From: “Antonio B.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Saturday, March 31, 2007 1:28 AM  
Subject: Re: [ruby-it] Rails e form da array di oggetti

---

<div class="post-metadata">

**Author:** ![worzeel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f4b2a3/32.png) [@worzeel](https://www.ruby-forum.com/u/worzeel)\
**Post date:** [March 31, 2007, 9:28am UTC](https://www.ruby-forum.com/t/rails-e-form-da-array-di-oggetti/90673/5 "2007-03-31T09:28:47Z")

</div>

Qualcosa di questo tipo dovrebbe andare:

\<% form\_for :country, :url =\> countries\_path do |f| %\>  
Country: \<%= f.text\_field :country\_name%\>

```
 <% fields_for 'city[]', @cities do |cf|
        3.times do |index| %>
       City: <%= cf.text_field :city_name, :index => index %>
<% end
end %>

<%= submit_tag "crea country e tre cities" %>

```

\<% end %\>

Nel controller fai params.inspect e guarda come tirare fuori i dati  
passati.  
Paolo

On 3/31/07, Antonio B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > basta che usi la nomenclatura di rails.  
> > di  
> > [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Paolo D.’  
SeeSaw | Another point of view

> **[A Padova il buon software chi lo fa?](https://seesaw.it/)**
>
> A creare software sono tantissimi, a farlo molto bene c’è una certa schiera di sviluppatori, ma a costruirlo un pezzo alla volta insieme al cliente, plasmarlo sulle sue esigenze e renderlo parte di un nuovo approccio al mondo del lavoro sono davvero...

removed\_email\_address@domain.invalid  
personal [http://paolodona.blogspot.com](http://paolodona.blogspot.com)
