# Inserimento record nel database via form

**URL:** <https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251>\
**Category:** IT\
**Created:** [April 6, 2007, 12:03am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251 "2007-04-06T00:03:49Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 12:03am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/1 "2007-04-06T00:03:49Z")

</div>

Database: mysql. Tabella: learned\_things. Modello: LearnedThing.

Qui la form nella vista:  
\<%= form\_tag :action=\>“add”, :method=\>“post” %\>  
\<%= hidden\_field “learnedthing”, “learned\_on”,  
:value=\>Date.new.strftime(“YmdHis”) %\>  
Testo \<%= text\_field “learnedthing”, “content”, “maxlength”=\>250,  
“size”=\>60 %\>  
  
\<%= submit\_tag “Aggiungi” %\>  
\<%= end\_form\_tag %\>

Qui l’azione “add”  
def add  
if request.post?  
elem = LearnedThing.new(params[:learnedthing])  
flash[:error] = “Impossibile aggiungere l’ elemento nel database”  
unless elem.save  
else  
flash[:error] = “Impossibile elaborare la richiesta”  
end  
redirect\_to :action=\>“index”  
end

Mi ritorna: Impossibile aggiungere elemento l’ nel database

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 12:34am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/2 "2007-04-06T00:34:48Z")

</div>

Roberto C. wrote:

> Mi ritorna: Impossibile aggiungere elemento l’ nel database

Si comporta bene.

> ```
> <%= hidden_field "learnedthing", "learned_on",
> 
> ```
> 
> :value=\>Date.new.strftime(“YmdHis”) %\>

L’errore sta nel formato che passi al metodo strftime (della classe  
Time), devi usare il simbolo ‘%’, controlla la doc per maggiori  
dettagli.

Nel caso specifico, l’errore Ã¨ dovuto al fatto che cerchi di inserire in  
un campo date (o datetime) qualcosa che non lo Ã¨, quindi l’inserimento  
fallisce.

Nico

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 12:51am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/3 "2007-04-06T00:51:48Z")

</div>

io ho sostituito con  
Date.new.strftime("%Y%m%d").to\_s

perÃ² il comportamento Ã¨ lo stesso.

Non c’Ã¨ modo di avere maggiori informazioni sull’errore?

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 1:29am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/4 "2007-04-06T01:29:56Z")

</div>

Roberto C. wrote:

> io ho sostituito con  
> Date.new.strftime("%Y%m%d").to\_s

Time.now.strftime("%Y%m%d")

Prima ti ho scritto che strftime appartiene alla classe Time…

Nella doc che ho sottomano, nella classe Date non esiste strftime, ma  
strptime e, a giudicare dal comportamento, mi sembra come se in qualche  
modo stessi utilizzando quella, forse Ã¨ un alias.

Di questi errori ti accorgi subito se usi la console (e/o irb) e provi a  
simulare un inserimento a mano, in questo modo ottieni anche messaggi di  
errore piÃ¹ significativi.

Nico

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 1:50am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/5 "2007-04-06T01:50:31Z")

</div>

Grazie, ho risolto con

Date.today.to\_s

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 10:10am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/6 "2007-04-06T10:10:47Z")

</div>

ma perchè “passare” la data odierna via POST? non puoi recuperarla  
nell’action?

Il 06/04/07, Roberto C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

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

–  
everything has got to end sometime we were satellites drifting off into  
space  
vega 4 - burn and fade away

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 10:43am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/7 "2007-04-06T10:43:50Z")

</div>

giustissimo 😃

Il 06/04/07, Domenico Delle S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) ha scritto:

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

–  
everything has got to end sometime we were satellites drifting off into  
space  
vega 4 - burn and fade away

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 6, 2007, 10:16am UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/8 "2007-04-06T10:16:49Z")

</div>

On Ven, Aprile 6, 2007 10:09, tarini wrote:

> ma perchè “passare” la data odierna via POST? non puoi recuperarla  
> nell’action?

Hai pienamente ragione ed ora che ci penso, potrebbe utilizzare i campi  
“magici” di AR e lavarsene completamente le mani: created\_(at/on)  
updated\_(at/on).

Nico

---

<div class="post-metadata">

**Author:** ![robyonrails](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b5ac83/32.png) [@robyonrails](https://www.ruby-forum.com/u/robyonrails)\
**Post date:** [April 7, 2007, 2:40pm UTC](https://www.ruby-forum.com/t/inserimento-record-nel-database-via-form/91251/9 "2007-04-07T14:40:36Z")

</div>

> Non c’è modo di avere maggiori informazioni sull’errore?

Una cosa veloce sarebbe:

p elem.errors
