Ciao a tutti
Ho questa tabella
CREATE TABLE SERVICES (
ID INTEGER NOT NULL,
NOME VARCHAR (35) ,
CODICE CHAR (7) ,
IMPORTO DECIMAL (6, 2),
NUMERO SMALLINT);
E questa _form relativa ad un’altra tabella PRESCRIPTION
che ha un campo service_id e un campo numero_terapie che al momento
è immesso dall’utente.
…
Prestazione:
<%=
@services = Service.find(:all, :order => “nome”)
collection_select(“prescription”, “service_id”, @services, :id, :nome)
%>
<% @prescription.numero_terapie = @prescription.service_id %>
Numero terapie
<%= text_field ‘prescription’, ‘numero_terapie’ %>
…
Partendo dal service_id selezionato come posso riempire il campo
numero_terapie
con il corrispondente valore service.numero lasciando comunque la
possibilità all’utente di modificarlo?
La soluzione sarà forse banale ma io non ne vengo a capo.
Sperando di essere stato chiaro
in attesa … Grazie
nel tuo form metti un observer sulla select
<%= observe_field “prescription_service_id” ,:url => { :action =>
“find_terapie” }, :with => “service_id” %>
e, nel controller, un’azione per recuperare il valore e valorizzare il
campo
def find_terapie
service=Service.find(params[:service_id])
render :update do |page|
page[:prescription_service_id].value=service.numero
end
end
Ricordati di includere i javascript necessari (<%=
javascript_include_tag :defaults %>)
ciao
Simo
B. Maffettone wrote:
Ciao a tutti
Ho questa tabella
…
Partendo dal service_id selezionato come posso riempire il campo
numero_terapie
con il corrispondente valore service.numero lasciando comunque la
possibilità all’utente di modificarlo?
…
Sorry, prima svista; ovviamente nel controller devi mettere:
page[:prescription_snumero_terapie].value=service.numero
Simo - Addsw wrote:
nel tuo form metti un observer sulla select
<%= observe_field “prescription_service_id” ,:url => { :action =>
“find_terapie” }, :with => “service_id” %>
e, nel controller, un’azione per recuperare il valore e valorizzare il
campo
def find_terapie
service=Service.find(params[:service_id])
render :update do |page|
page[:prescription_service_id].value=service.numero
end
end
Ricordati di includere i javascript necessari (<%=
javascript_include_tag :defaults %>)
ciao
Simo
Ricevuto.
Grazie tante !!! ora mi documento su
nel tuo form metti un observer sulla select
provo a fare come hai detto e ti faccio sapere.
Ancora grazie
Ciao
BM
Per la fretta di provare non mi sono documentato granchè, ma sembra che
l’azione
find_terapie non venga chiamata.Comunque:
in _form.rhtml ho messo
…
Prestazione:
|
<%= observe_field “prescription_service_id” ,:url => { :action =>
“find_terapie” }, :with => “service_id” %>
ho provato anche “prescription[service_id]”
<%=
@services = Service.find(:all, :order => “nome” ).map {|u|
[u.nome+’–> '+u.numero.to_s, u.id] }
select(:prescription, :service_id, @services)
%>
|
*****quando funzionerà come valorizzo questo sotto ?
Numero terapie
|
<%= text_field 'prescription', 'numero_terapie' %>
|
................
************************************************
in new.rhtml
<%= javascript_include_tag :defaults %>
Nuova ricetta
<%= start_form_tag :action => ‘create’ %>
<%= render :partial => ‘form’ %>
<%= submit_tag “Registra” %>
<%= end_form_tag %>
<%= link_to ‘Indietro’, :action => ‘list’ %>
in prescription_controller
def find_terapie
service=Service.find(params[:service_id])
render :update do |page|
page[:prescription_numero_terapie].value=service.numero
end
end
Sicuramente sbaglio! ma dove? se puoi dirmelo!?
Scusa se approfitto del tuo tempo
BM
*****quando funzionerà come valorizzo questo sotto ?
Mi rispondo da solo
con
page[:prescription_numero_terapie].value=service.numero
Esatto ?
In public/javascripts devo avere defaults ?
Ciao
Simo - Addsw wrote:
nel tuo form metti un observer sulla select
Ho riscritto questo:
Prestazione:
|
<%=
collection_select("prescription", "service_id", @services, :id, :nome)
%>
<%= observe_field “prescription_service_id” ,:url => { :action =>
“find_terapie” }, :with => “service_id” %>
|
variando
select(:prescription, :service_id, @services)
e adesso funziona, non so se il problema era tra select e
collection_select ma
per ora mi basta che funzioni dopo indagherò.
Ti ringrazio dell’aiuto.
Spero in futuro di potermi disobbligare fornendo aiuto a mia volta a
qualcuno.
Per ora per quanto riguarda Ruby e Rails sono all’età del bronzo
(pietra?)
col tempo … forse …
Ciao