Ho un modello User in cui ho inserito:
validates_presence_of :region_id
vorrei che questa validazione venisse effettuata sempre tranne che per
l’azione “update_password” contenuta in un controller “segreteria”.
Ho provato con:
validates_presence_of :region_id, :unless => :update_password
ma non sembra funzionare
l’errore restituito é:
undefined method ‘update_password’.
Secondo me viene verificato che “update_password” non é un metodo del
modello (e in effetti é così perchè é un metodo(azione) del controller
segreteria)
come potrei risolvere il problema?
Un grazie anticipato a tutte le persone che mi vorranno aiutare.
Ciao
Il metodo che verifica la condizione deve esistere nel model User non
nel controller.
validates_presence_of :region_id, :if => :password_updated?
def password_updated?
unless…
end
–Tommaso
2009/10/6 pezzuya … [email protected]:
Tommaso P. wrote:
Il metodo che verifica la condizione deve esistere nel model User non
nel controller.
validates_presence_of :region_id, :if => :password_updated?
def password_updated?
unless…
end
–Tommaso
2009/10/6 pezzuya … [email protected]:
ok ma io vorrei EVITARE l’esecuzione di validates_presence_of :region_id
quando viene eseguito l’azione password_updated del controller
segreteria…
come posso fare?
devi trovare la regola che si verifica quando esegui il controller
password_updated. magari potresti validare la presenza di :region_id
solo in caso di creazione, e non durante le modifiche. tutto dipende da
cosa stai facendo
considera questa ipotesi:
validates_presence_of :first_name, :on => :create
anche le pagine di documentazione potrebbero aiutarti:
ciao,
A.
pezzuya … ha scritto:
Ciao!
La “regola” potrebbe essere che i campi “nuova password” e “conferma
nuova password” (nomi ipotetici) compilati al momento dell’update
password sono entrambi non vuoti.
Ciao,
Silvano
–
Considera l’ambiente prima di stampare questa email. Dai, che
l’equazione è semplice: meno A4, più alberi.
. . . Silvano S. . . .
email: [email protected]
site: http://www.sistrall.it