Richiamare value da db

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 … :slight_smile:

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

momento, momento, momento…

utilizzando request.path, ottengo product/:id , posso isolare :id?

Maurizio De magnis wrote in post #1174947:

Ci sono persone che ti stanno dedicando il loro tempo, aiutale ad
aiutarti
:slight_smile:
2015-06-11 18:01 GMT+02:00 Xx Xx [email protected]:

Certo che si Maurizio :slight_smile: , 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?

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

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 … :slight_smile:

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 :frowning:

ecco cosi ti sentirai meglio: request.path_parameters[:id] :slight_smile: (peccato
che ad ogni modo non funzioni :P)

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)

?

spero vada bene =|

Risulta non presente…

Maurizio De Santis

2015-06-12 10:19 GMT+02:00 Xx Xx [email protected]:

Maurizio De magnis wrote in post #1174945:

@paolo: +1 per il gist
@Kira: metti il codice nel gist, che altrimenti è dura :slight_smile:

spero di inserire le parti giuste =|

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:

devo aggiungere altro?

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]:

Anche ora?

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

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]:

: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 :slight_smile:

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

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

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 :slight_smile:

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:

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?