pietia
June 11, 2015, 6:08pm
21
Allora, per splittare una stringa ruby ti da il metodo split:
request.path.split(‘/’)[1].
Controlla prima che request.path abbia almeno un ‘/’.
Sappi che la soluzione che ti ho dato talmente poco elegante che nel
momento stresso in cui premer invio ad una fatina cadranno le ali.
Vai col gist cos ti possiamo dare una mano e magari imparare una
soluzione elegante che potrai usare nuovamente in futuro …
2015-06-11 18:01 GMT+02:00 Xx Xx [email protected] :
–
Posted via http://www.ruby-forum.com/ .
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
–
$ cd /pub
$ more beer
I pirati della sicurezza applicativa: https://codiceinsicuro.it
pietia
June 11, 2015, 5:47pm
22
momento, momento, momento…
utilizzando request.path, ottengo product/:id , posso isolare :id?
pietia
June 11, 2015, 6:10pm
23
Maurizio De magnis wrote in post #1174947:
Ci sono persone che ti stanno dedicando il loro tempo, aiutale ad
aiutarti
2015-06-11 18:01 GMT+02:00 Xx Xx [email protected] :
Certo che si Maurizio , mi sembrava una buona soluzione, purtroppo,
request.path_parameters[:id]
inserito dentro il Controller non da il risultato sperato.
Passando oltre, Maurizio, cosa vi serve?
pietia
June 11, 2015, 6:18pm
24
usare lhelper params[:id]
che disponibile nei controllers di rails
non funziona?
ciao,
A.
Vai col gist cos ti possiamo dare una mano e magari imparare una
che ad ogni modo non funzioni :P)
–
Posted via http://www.ruby-forum.com/ .
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
–
pietia
June 11, 2015, 6:12pm
25
Paolo P. wrote in post #1174948:
Allora, per splittare una stringa ruby ti da il metodo split:
request.path.split(‘/’)[1].
Controlla prima che request.path abbia almeno un ‘/’.
Sappi che la soluzione che ti ho dato talmente poco elegante che nel
momento stresso in cui premer invio ad una fatina cadranno le ali.
Vai col gist cos ti possiamo dare una mano e magari imparare una
soluzione elegante che potrai usare nuovamente in futuro …
2015-06-11 18:01 GMT+02:00 Xx Xx [email protected] :
–
Posted via http://www.ruby-forum.com/ .
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
–
$ cd /pub
$ more beer
I pirati della sicurezza applicativa: https://codiceinsicuro.it
NOOOOOO povera fatina
ecco cosi ti sentirai meglio: request.path_parameters[:id] (peccato
che ad ogni modo non funzioni :P)
pietia
June 12, 2015, 9:58am
26
Andrea P. wrote in post #1174951:
usare lhelper params[:id]
che disponibile nei controllers di rails
non funziona?
ciao,
A.
Vai col gist cos ti possiamo dare una mano e magari imparare una
che ad ogni modo non funzioni :P)
?
pietia
June 12, 2015, 10:28am
28
Risulta non presente…
–
Maurizio De Santis
2015-06-12 10:19 GMT+02:00 Xx Xx [email protected] :
pietia
June 12, 2015, 10:00am
29
Maurizio De magnis wrote in post #1174945:
@paolo : +1 per il gist
@Kira : metti il codice nel gist, che altrimenti è dura
spero di inserire le parti giuste =|
pietia
June 12, 2015, 10:30am
30
No scusami, dall’email mi apre un altro indirizzo:
https://gist.github.com/anonymous/57a021627a4ee07a7ec8 , dal forum mi
apre
quello giusto: gist:6269bd3602c5abeceaa5 · GitHub
–
Maurizio De Santis
Il giorno 12 giugno 2015 10:27, Maurizio De Santis <
[email protected] > ha scritto:
pietia
June 12, 2015, 10:59am
32
Nella vista usi l’helper
<%= f.hidden_field :prodotto_id, value: prodotto.id %>
Per cui per leggerlo dal controller dovresti usare
elemento_params[:prodotto_id]
–
Maurizio De Santis
2015-06-12 10:39 GMT+02:00 Xx Xx [email protected] :
pietia
June 12, 2015, 11:07am
34
On 12 June 2015 at 10:39, Xx Xx [email protected] wrote:
devo aggiungere altro?
–
Posted via http://www.ruby-forum.com/ .
Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml
–
$ cd /pub
$ more beer
I pirati della sicurezza applicativa: https://codiceinsicuro.it
pietia
June 12, 2015, 11:11am
35
prodotto_id = params[“prodotto_id”]
Credo che se prodotto_id gli venga passato attraverso il form, e quindi
attraverso <%= f.hidden_field :prodotto_id >, debba usare
elemento_params[:prodotto_id]
–
Maurizio De Santis
2015-06-12 11:06 GMT+02:00 Paolo P. [email protected] :
pietia
June 12, 2015, 11:27am
36
:prodotto_id fa parte della tabella Elementi, ma ho bisogno del
prodotto.id per il confronto ( il numero che viene visualizzato nel url
).
Altrimenti, il confronto mi darebbe sempre " true "
Quindi, il mio obbiettivo e ottenere l’id corrente da confrontare con
gli id presenti nel db (in caso il db non ha id, deve creare un nuovo "
elemento.new " )
Rettifico, ora ricevo l’id. Grazie mille ragazzi, siete fantastici come
sempre
Ora devo solo trovare un modo, per riuscire ad associare il risultato
con l’id del Elemento che devo modificare. Vi tengo aggiornati.
Grazie ancora, a presto
pietia
June 12, 2015, 11:19am
37
Si si… io ho premesso che mastico pi Sinatra + Datamapper che Rails
ActiveRecord.
Al netto della sintassi, il concetto fondamentale che il tuo dato tu
l’hai nella view ed hai bisogno di tirarlo dentro nel controller prima
di poterlo utilizzare.
HTH
2015-06-12 11:11 GMT+02:00 Maurizio De Santis
[email protected] :
2015-06-12 11:06 GMT+02:00 Paolo P. [email protected] :
[email protected]
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
–
$ cd /pub
$ more beer
I pirati della sicurezza applicativa: https://codiceinsicuro.it
pietia
June 12, 2015, 11:49am
38
Maurizio De Santis wrote in post #1174995:
ho bisogno del
prodotto.id per il confronto ( il numero che viene visualizzato nel url
)
In quale url, nell’url della pagina che invia il form? Se intendi
questo,
allora glielo devi passare dal form aggiungendo un altro hidden_field.
Per
esempio:
Nel form:
<%= form_for elemento, remote: true do |f| %>
<%= hidden_field_tag
:chiave_per_mezzo_della_quale_acceder_al_valore_dal_controller, value:
valore_che_voglio_passare_al_controller %>
Nel controller:
def create
prodotto_id =
params[:chiave_per_mezzo_della_quale_acceder_al_valore_dal_controller]
…
–
Maurizio De Santis
Il giorno 12 giugno 2015 11:27, Xx Xx [email protected] ha scritto:
!_! Grazie Maurizio, il tuo consiglio " @prodotto =
elemento_params[:prodotto_id] " e stato risulutivo.
Adesso purtroppo sono nella posizione di far passare l’id del "
elemento.id " da " update ".
Attualmente l’id viene passato manualmente (e non va bene), devo
associarlo al confronto di prima ( per chiarirci, sto parlando della
porzione di codice dopo l’if ).
Ad ogni modo ora provo a cercare una soluzione.
Vi ringrazio ancora una volta
pietia
June 12, 2015, 11:40am
39
ho bisogno del
prodotto.id per il confronto ( il numero che viene visualizzato nel url
)
In quale url, nell’url della pagina che invia il form? Se intendi
questo,
allora glielo devi passare dal form aggiungendo un altro hidden_field.
Per
esempio:
Nel form:
<%= form_for elemento, remote: true do |f| %>
<%= hidden_field_tag
:chiave_per_mezzo_della_quale_acceder_al_valore_dal_controller, value:
valore_che_voglio_passare_al_controller %>
Nel controller:
def create
prodotto_id =
params[:chiave_per_mezzo_della_quale_acceder_al_valore_dal_controller]
…
–
Maurizio De Santis
Il giorno 12 giugno 2015 11:27, Xx Xx [email protected] ha scritto:
pietia
June 15, 2015, 4:08pm
40
def create
@ordine = current_ordine
@prodotto = elemento_params[:prodotto_id]
if ( current_ordine.elementi.collect { |x| x.prodotto_id ==
@prodotto }.include?(true) ) == true
@update = current_ordine.elementi.collect { |x| x.prodotto_id ==
@prodotto and x.id }
@elemento = @ordine.elementi.find(params[@update])
@elemento.update_attributes(elemento_params)
@elementi = @ordine.elementi
else
@ordine = current_ordine
@elemento = @ordine.elementi.new(elemento_params)
@ordine.save
session[:ordine_id] = @ordine.id
end
end
ho cercato e riprovato, ma l’unica cosa che sono riuscito a ottenere e
questo:
" current_ordine.elementi.collect { |x| x.prodotto_id == @prodotto and
x.id } "
In questo modo, riesco a far visualizzare il numero del id, quando e
true, mentre quando e false, mostra false.
Ma non riesco a isolare l’id e passarlo alla riga successiva
Ho tentato anche con:
current_ordine.elementi.collect { |x| ( x.prodotto_id == prodotto.id
and x.id ).last }.extract_options!(:id)
ma niente mi da un errore di wrong number
consigli?