Yii Framework Forum: 404 Su Action Se Un Parametro Contiene Delle Stringhe - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

404 Su Action Se Un Parametro Contiene Delle Stringhe Rate Topic: ***** 1 Votes

#1 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 22 November 2012 - 04:27 AM

Si noti la differenza tra queste due chiamate (GET), che risiede nel solo parametro root passato

... index.php?r=registry/company/relationTree&id=2&root=companyChildId_4


... index.php?r=registry/company/relationTree&id=2&root=4


Il problema è che quando viene eseguita la seconda, quella chiamata col prefisso 'companyChildId_' nel parametro 'root' ricevo un 404 (pagina non trovata)

Come mai ? Perchè la action non viene riconosciuta se ha dei caratteri aggiuntivi davanti in un parametro?

La firma della action è questa

 public function actionRelationTree($id, $root) 


ho già provato a togliere l'underscore '_', ma il risultato non cambia ...

mettendo i caratteri aggiuntivi DOPO il numero invece la chiamata va a buon fine

Per caso le action accettano solo parametri numerici ?
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#2 User is offline   Giacomo 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 69
  • Joined: 03-October 12

Posted 22 November 2012 - 06:39 AM

View Postrealtebo, on 22 November 2012 - 04:27 AM, said:

Si noti la differenza tra queste due chiamate (GET), che risiede nel solo parametro root passato

... index.php?r=registry/company/relationTree&id=2&root=companyChildId_4


... index.php?r=registry/company/relationTree&id=2&root=4


Il problema è che quando viene eseguita la seconda, quella chiamata col prefisso 'companyChildId_' nel parametro 'root' ricevo un 404 (pagina non trovata)

Come mai ? Perchè la action non viene riconosciuta se ha dei caratteri aggiuntivi davanti in un parametro?

La firma della action è questa

 public function actionRelationTree($id, $root) 


ho già provato a togliere l'underscore '_', ma il risultato non cambia ...

mettendo i caratteri aggiuntivi DOPO il numero invece la chiamata va a buon fine

Per caso le action accettano solo parametri numerici ?



Ciao, ma a prescindere, che ti serve passare come paramentro

root=companyChildId_4

?
passagli solo 4 no? oppure se è solo una questione visiva della url, cambia il nome del paramentro da root a companyChildId, così da avere

index.php?r=registry/company/relationTree&id=2&companyChildId=4


no? :blink:
0

#3 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 22 November 2012 - 08:24 AM

il problema riguarda il CTreeView che usa come parametro 'id', l'id della foglia. Puoi cambiare l'id ma non il nome del parametro
:(

a me scoccia avere in una form che è piuttosto complessa, una fila di id puramente numerici, per cui ho fatto si che gli id venissero generati così.

rimane la curiosità del come mai non si possa passare una stringa ad una action, sempre che sia così
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

#4 User is offline   Giacomo 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 69
  • Joined: 03-October 12

Posted 22 November 2012 - 08:36 AM

View Postrealtebo, on 22 November 2012 - 08:24 AM, said:

il problema riguarda il CTreeView che usa come parametro 'id', l'id della foglia. Puoi cambiare l'id ma non il nome del parametro
:(

a me scoccia avere in una form che è piuttosto complessa, una fila di id puramente numerici, per cui ho fatto si che gli id venissero generati così.

rimane la curiosità del come mai non si possa passare una stringa ad una action, sempre che sia così


io le stringhe le passo senza problemi, non è che magari il codice si aspetta di ricevere un intero piuttosto che una stringa?
0

#5 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,987
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 22 November 2012 - 08:43 AM

E' stato controllato il log? Di Apache, di php, di yii?
0

#6 User is offline   realtebo 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 700
  • Joined: 03-October 12
  • Location:Ferrara

Posted 22 November 2012 - 08:53 AM

apache e php non danno nessun errore... yii mi dice che la pagina non è stata trovata.

appena ho tempo faccio un debug dell'intero routing e vedo in base a cosa prende questa decisione.
Il computer non ragiona, ma ha sempre ragione.
Ricordalo quando fai il debug
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users