Form con primary key

Salve, Io ho un piccolo problema.
io ho il model paziente dove ho impostato il cd come primary_key
self.primary_key = “cf”

nella view new io inserisco tutti i dati in una form fra i quali anche
il :cf
la form richiama l’action

Il problema è che non mi salva il :cf e mi setta sempre NULL

controller:

def create
@patient = Patient.new(params[:patient])
@patient.save

end

view:

<% form_for :patient, :url => { :action => :create } do |f| %>

CF
<%= f.text_field :cf %>

First name
<%= f.text_field :first_name %>

Last name
<%= f.text_field :last_name %>

<%= submit_tag %> <% end %>

dove sbaglio??

grazie

Ciao Andrea,
Probabilmente la primary key è protetta dall’assegnamento massivo.
Prova con:
@patient = Patient.new(params[:patient])
@patient.cf = params[:patient]
@patient.save

Luca

Ops, sbagliato la seconda riga. Dovrebbe essere:
@patient.cf = params[:patient][:cf]

Grazie mille ho risolto.
Ci ho perso 1 ora
io avevo provato anche a fare

@patient = Patient.new(params[:patient])
@patient.cf = params[:cf]
@patient.save

ma mi restava sempre NULL

Di niente, anche a me è capitata una cosa simile, se guardi nel log
dovrebbe aver generato un Warning.

Andrea,
io non metterei solo il cf come primary key.
Anni fa l’Agenzia delle Entrate aveva fatto un pasticcio nel rilascio
dei cf e esistevano dei duplicati.
Teoricamente ora dovrebbe essere tutto in ordine, ma la famosa legge di
Murphy è sempre in agguato.

Ciao e buon lavoro

Stefano

Andrea Catalano wrote:

Salve, Io ho un piccolo problema.
io ho il model paziente dove ho impostato il cd come primary_key
self.primary_key = “cf”

On Tue, Apr 22, 2008 at 10:40 AM, Stefano F.
[email protected]
wrote:

Andrea,
io non metterei solo il cf come primary key.
Anni fa l’Agenzia delle Entrate aveva fatto un pasticcio nel rilascio
dei cf e esistevano dei duplicati.
Teoricamente ora dovrebbe essere tutto in ordine, ma la famosa legge di
Murphy è sempre in agguato.

Vero. Di solito è una buona idea lasciare che rails generi una chiave
primaria tecnica (id) e tenere la chiave naturale in un normale
attributo.
Anche sul libro di Rails cita come esempio il codice ISBN che
apparentemente
è una buona scelta come chiave primaria per una tabella di libri, ma
diventa
un problema quando i codici ISBN vengono cambiati (cosa che non
“dovrebbe”
succedere ma succede.) Se segui le convenzioni di Rails perdi meno
tempo :slight_smile: