Params, domanda semplice

Ciao,

nessuno mi può chiarire questo dubbio?

Andrea

----- Original Message -----
From: “stb” [email protected]
To: [email protected]
Sent: Tuesday, September 19, 2006 7:28 PM
Subject: [ruby-it] params, domanda semplice

text_field(“location1”,“city1”)
text_field(“location2”,“city2”)

@user = User.new(params[:location1])

come posso fare questo? mi devo costruire un nuovo modello solo per la
richiesta POST o posso usare quello basato sulla tabella?


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

On 9/19/06, stb [email protected] wrote:

text_field(“location1”,“city1”)
text_field(“location2”,“city2”)

@user = User.new(params[:location1])

come posso fare questo? mi devo costruire un nuovo modello solo per
la richiesta POST o posso usare quello basato sulla tabella?

Non ho capito molto bene quello che ti serve, ma provo a darti una
risposta… se non è quello che ti serviva chiedi pure :wink:

Quando l’ho usato io ho sempre utilizzato il modello come oggetto, in
quanto
come puoi vedere qui sotto i parametri richiesti sono:

  • object_name (solitamente il model, ma potrebbe essere un oggetto
    qualsiasi)
  • method (solitamente il campo che vogliamo gestire, ma può essere un
    metodo
    qualsiasi dell’oggetto precedentemente settato… (non ho mai provato))
  • options = {} (varie opzioni html che non ci interessano al momento)

text_field(object_name, method, options = {})

Ora se tu hai una tabella location, dovresti aver generato anche il
model e
non dovresti avere problemi… in quanto ti basta recuperare i models
con
location1 = Location.find(…)
per poi inserire text_field(“location1”,“city1”)

Probabilmente non ho centrato il punto, ma spero di esserti stato
d’aiuto.

–Andrea R.

Non so se interpreto bene le tue esigenze, ma:
puoi avere due oggetti uno location1 ed uno location2
che possono essere istanze della stessa classe (Model).

li puoi istanziare nella action che genera la pagina con la form.

HTH
Luca

no no hai centrato esattamente il punto, era quello che mi serviva, fare
una
richiesta con due istanze dello stesso modello, una cosa nn ho capito,
perchè usi il find sul modello?
quindi basta che istanzio il modello con per esempio @location1 =
Location.new per poi inserire nel text_field della vista il parametro
“location1” ?
questo fa fatto nella vista che genera il controller immagino.

Saluti Andrea

----- Original Message -----
From: “Andrea R.” [email protected]
To: “ruby-it” [email protected]
Sent: Wednesday, September 20, 2006 1:17 PM
Subject: Re: [ruby-it] params, domanda semplice

On 9/19/06, stb [email protected] wrote:

text_field(“location1”,“city1”)
text_field(“location2”,“city2”)

@user = User.new(params[:location1])

come posso fare questo? mi devo costruire un nuovo modello solo per
la richiesta POST o posso usare quello basato sulla tabella?

Non ho capito molto bene quello che ti serve, ma provo a darti una
risposta… se non è quello che ti serviva chiedi pure :wink:

Quando l’ho usato io ho sempre utilizzato il modello come oggetto, in
quanto
come puoi vedere qui sotto i parametri richiesti sono:

  • object_name (solitamente il model, ma potrebbe essere un oggetto
    qualsiasi)
  • method (solitamente il campo che vogliamo gestire, ma può essere un
    metodo
    qualsiasi dell’oggetto precedentemente settato… (non ho mai provato))
  • options = {} (varie opzioni html che non ci interessano al momento)

text_field(object_name, method, options = {})

Ora se tu hai una tabella location, dovresti aver generato anche il
model e
non dovresti avere problemi… in quanto ti basta recuperare i models
con
location1 = Location.find(…)
per poi inserire text_field(“location1”,“city1”)

Probabilmente non ho centrato il punto, ma spero di esserti stato
d’aiuto.

–Andrea R.


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

esatto, nella form(quindi vista) dovrei istanziare due oggetti basati
sullo
stesso modello e trasferirli insieme alla richiesta.

Il punto è che non ho capito come fare, text_field accetta il nome del
modello no?

come faccio a dirgli che quel caqmpo appartiene ad un oggetto basato sul
modello location?

Saluti Andrea
----- Original Message -----
From: “Luca M.” [email protected]
To: “ruby-it” [email protected]
Sent: Wednesday, September 20, 2006 1:08 PM
Subject: Re: [ruby-it] params, domanda semplice

Non so se interpreto bene le tue esigenze, ma:
puoi avere due oggetti uno location1 ed uno location2
che possono essere istanze della stessa classe (Model).

li puoi istanziare nella action che genera la pagina con la form.

HTH
Luca
On 9/20/06, stb [email protected] wrote:

caso
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

On 9/20/06, stb [email protected] wrote:

no no hai centrato esattamente il punto, era quello che mi serviva, fare
una
richiesta con due istanze dello stesso modello, una cosa nn ho capito,
perchè usi il find sul modello?

Era un esempio per creare un istanza del modello… ma ho visto che tu
fai
un new.
Diciamo che ci sono diversi modi per avere un oggetto model, tra cui
sicuramente troviamo la ricerca e la creazione (quello che fai tu)

quindi basta che istanzio il modello con per esempio @location1 =

Location.new per poi inserire nel text_field della vista il parametro
“location1” ?
questo fa fatto nella vista che genera il controller immagino.

In pratica sì… Prima di tutto dovresti creare due nuovi oggetti Location
(che tu chiami @location1 e @location2) e poi usare due volte l’helper
text_field per visualizzare i campi che ti servono. Ti consiglio di dare
un’occhiata a questa
paginahttp://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html
potrebbe essere illuminante, almeno a me serve spesso :stuck_out_tongue:

Ciao,

penso di aver capito, ho anche provato ma nn funziona.

nel metodo index del controller istanzio due oggetti basati sul
modello, e nella vista index.rhtml inserisco il mio form mettendo
come parametri gli oggetti appena creati. sbaglio qualche cosa? la
compilazione è ok non da errori

questo è il codice che non mi funziona

class MainController < ApplicationController

#istanzio gli oggetti, lo STEP 1 è integrato nella vista

def index
@location1 = Location.new
@location2 = Location.new
end

def new_travel_step2
#questo non funziona, la vista dovrebbe visualizzarmi i valori
inseriti nella form precedente ma non lo fa
@loc1 = Location.new(params[:location1])
@loc2 = Location.new(params[:location2])

 render :inline => "<%= @loc1.city %><br>
                   <%= @loc2.city %><br>
                   <h3>STEP 2</h3>
 <%= link_to_remote( '>STEP 3',
  :update => 'subBox1',
  :url =>{ :action => :new_travel_step2 }) %>"

end

===================================================
INDEX.RHTML

<%= form_tag %>
city 1:
<% location1 = Location.new %>
<%= text_field(‘location1’,‘city’) %>



city 2:
<%= text_field(‘location2’,‘city’) %>

                     <%= link_to_remote( '>STEP 2',
                      :update => 'subBox1',
                      :url =>{ :action => :new_travel_step2 }) %>

                     <%= end_form_tag %>

Il giorno 21/set/06, alle ore 00:40, Andrea R. ha scritto:

cosa intendi scusa?

----- Original Message -----
From: “Stefano C.” [email protected]
To: “ruby-it” [email protected]
Sent: Thursday, September 21, 2006 1:39 PM
Subject: Re: [ruby-it] params, domanda semplice

                    <%= text_field('location2','city') %><br>

<%= submit_tag(‘>STEP 2’) %>



Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml

ops, penso di aer capito, quindi per inviare form in ajax devo usare
per forza il form_remote_tag, il link_to_remote va bene solo per le
azioni giusto?

grazie mille per la pazienza :]

Andrea

Il giorno 21/set/06, alle ore 14:21, stb ha scritto:

On Sep 21, 2006, at 1:00 PM, stb wrote:

                     :url =>{ :action => :new_travel_step2 }) %>

                    <%= end_form_tag %>

<%= form_remote_tag(:url => { :action => :new_travel_step2 }, :update
=> ‘subBox1’) %>

<%= submit_tag(’>STEP 2’) %>
<% end_form_tag %>

Se dentro un form ci metti un link per forza che non funziona… ma
Rails, poverino,
non c’entra niente :slight_smile:

On Sep 21, 2006, at 2:29 PM, stb wrote:

ops, penso di aer capito, quindi per inviare form in ajax devo
usare per forza il form_remote_tag, il link_to_remote va bene solo
per le azioni giusto?

giusto