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 3ma 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’, ‘[email protected]’)
In pratica non vede il valore di subrep… cosa sto sbagliando?
Grazie in anticipo.