# Form\_for e select

**URL:** <https://www.ruby-forum.com/t/form-for-e-select/177408>\
**Category:** IT\
**Created:** [October 16, 2009, 2:23pm UTC](https://www.ruby-forum.com/t/form-for-e-select/177408 "2009-10-16T14:23:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 16, 2009, 2:23pm UTC](https://www.ruby-forum.com/t/form-for-e-select/177408/1 "2009-10-16T14:23:19Z")

</div>

Ciao.  
Lo so che Ã¨ un argomento dibattuto, ma non riesco a trovare il bandolo  
della matassa.

Situazione: sto facendo un’applicazione in ror in cui degli operatori  
andranno ad inserire dati (ma va?).  
Gli operatori appartengono a 3 diversi sottoreparti, per cui fanno le  
stesse cose, ma devo tenerli distinti per luogo di lavoro, quindi nella  
creazione del profilo utente devo inserire il sottoreparto.  
Per la gestione delle autenticazioni uso restful\_authentication, quindi  
ho aggiunto a app/views/users/new.html.erb il pezzo di codice necessario  
allo scopo ed ora Ã¨ cosÃ¬:

# Sign up as a new user
\<% @user.password = @user.password\_confirmation = nil %\>

\<%= error\_messages\_for :user %\>  
\<% form\_for :user, :url =\> users\_path do |f| -%\>

\<%= label\_tag 'login' %\>  
\<%= f.text\_field :login %\>

\<%= label\_tag 'name' %\>  
\<%= f.text\_field :name %\>

\<%= label\_tag 'email' %\>  
\<%= f.text\_field :email %\>

\<%= label\_tag 'subrep\_id' %\>

\<%= f.select("subrep\_id", Subrep.all.collect {|s| [s.name, s.id] }) %\>

[codice codice]

\<%= submit\_tag 'Sign up' %\>

\<% end -%\>

Ho provato anche con:  
\<%= f.collection\_select(:subrep\_id, Subrep.find(:all), :id, :name) %\>

In entrambi i casi il codice html Ã¨:

Subrep

Gruppo 1 Gruppo 2 Gruppo 3

ma non mi funziona, l’errore:  
Mysql::Error: Column ‘subrep\_id’ cannot be null: INSERT INTO `users`  
(`name`, `salt`, `subrep_id`, `created_at`, `crypted_password`,  
`remember_token_expires_at`, `updated_at`, `admin`, `remember_token`,  
`login`, `email`) VALUES(‘Nome C.’, ‘3535423rgfwefw53535’, NULL,  
‘2009-10-16 12:19:07’, ‘fger435353gerger45345fwefwe’, NULL, ‘2009-10-16  
12:19:07’, 0, NULL, ‘nomeutente’, ‘removed\_email\_address@domain.invalid’)

In pratica non vede il valore di subrep… cosa sto sbagliando?

Grazie in anticipo.

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 19, 2009, 10:37am UTC](https://www.ruby-forum.com/t/form-for-e-select/177408/2 "2009-10-19T10:37:45Z")

</div>

Daneel O. wrote:

> Ciao.  
> Lo so che Ã¨ un argomento dibattuto, ma non riesco a trovare il bandolo  
> della matassa.

Appena trovato: assolto in toto il form\_for e “condannato”  
restful\_authentication 🙂

In breve Restful\_authentication ha una protezione per evitare strani  
giochetti che impedisce di passare valori non previsti, si trova nel  
model ed Ã¨:

attr\_accessible :login, :email, :name, :password, :password\_confirmation

Ho aggiunto alla fine il nuovo campo e tutto ha cominciato a funzionare  
come volevo.

A presto 🙂

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 21, 2009, 6:02pm UTC](https://www.ruby-forum.com/t/form-for-e-select/177408/3 "2009-10-21T18:02:18Z")

</div>

Daneel O. wrote:

> Daneel O. wrote:
> 
> > Ciao.  
> > Lo so che Ã¨ un argomento dibattuto, ma non riesco a trovare il bandolo  
> > della matassa.
> 
> Appena trovato: assolto in toto il form\_for e “condannato”  
> restful\_authentication 🙂
> 
> In breve Restful\_authentication ha una protezione per evitare strani  
> giochetti che impedisce di passare valori non previsti, si trova nel  
> model ed Ã¨:
> 
> attr\_accessible :login, :email, :name, :password, :password\_confirmation
> 
> Ho aggiunto alla fine il nuovo campo e tutto ha cominciato a funzionare  
> come volevo.
> 
> A presto 🙂

In effetti anche a me ha fatto impazzire l’attributo :name.  
Alla fine ho commentato le due righe di validazione in user.rb
