| Laravel action() ne ustvari pravilnega url | ||
|---|---|---|
|
thai
17. jul 2015 06:51:17
Pridružen od: 14. dec 2014 81 objav 32 31 2 |
#1
Laravel "helper function" action() ne generirala pravilnega url-ja v primeru create metode. Zapisano imam na primer Generira se url... url_pot?0 Seveda bi lahko zapisal in bi se generiral url... url_pot?id=0 ampak ni to to. Želim, da se generira takšen url kot ga action() genrira pri vseh ostalih privzetih "resource" metodah s parametri ali pri custom metodah. Vedno se generira pravilni url (url_pot/0) le pri tej privzeti besedi "create" me zajebava. V routes.php sem definiral pravilni route Če ne bom našel nobene druge rešitve, pač ne bom uporabil action() ampak bom v *.blade.php ročno zapisal celoten url in potem lepo delujem ampak je potem to spet tako tako, če se kasneje odločim spremeniti url v routes.php moram potem pot spremeniti tudi v blade (lahko bi pa tudi metodo preimenoval in potem deluje ampak to spet ni to). Id v create metodi nujno potrebujem, ne vem, kako je sicer to v skladu z dobro prakso ampak ga potrebujem. *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
bostjan
17. jul 2015 14:55:18
Pridružen od: 31. jul 2008 643 objav 689 30 9 |
#2
Tole maš nekje drugje napako. Testiral točno tvojo kodo in deluje popolnoma ok. Z "action('KrnekiController@create', ['id' => 0])" dobim "/kr_neki/create/0". Boš moral kaj več pokazat ali pa raziskat kje drugje imaš napako. |
|
|
thai
17. jul 2015 16:04:56
Pridružen od: 14. dec 2014 81 objav 32 31 2 |
#3
Deluje, če nimam zapisano resource, ampak routes definiram sam. Recimo, če zapišem Ne deluje Če zapišem pa deluje :/ Ampak mi je malo mimo, da bi moral zdaj ročno zapisati vse routes samo zato, ker bi rad v create vključil parameter :/ Po moje v prvem primeru ne bi smelo biti težav, ker je Route::get('krneki/create/{id}', 'KrNekiController@create') zapisan nad Route::resource(...) ampak ga očitno ne prepiše. Lahko preveriš, če se tebi zgodi podobno (1. primer -- pod Route::get('krneki/create/{id}', 'KrNekiController@create'); zapišeš še Rote::resource(...))? 2x sem preveril imena in sem vse prav zapisalo tako da mi ni jasno v čem je težava. *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
thai
17. jul 2015 16:24:43
Pridružen od: 14. dec 2014 81 objav 32 31 2 |
*Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
bostjan
17. jul 2015 16:49:27
Pridružen od: 31. jul 2008 643 objav 689 30 9 |
#5
čaki čaki to pa malo spremeni.....ti imaš 2 route v isti controller na isti action. Ne da se mi poganjat vagranta zdele (lahko kasneje zvečer), toda preveri če daš resource kot: glede na to da definiraš že tam route. Drugače pa oni prvi ruti daj ime ('as' => 'neki') in potem kliči helper route('neki', ['id' => 123]) |
|
|
thai
17. jul 2015 17:52:34
Pridružen od: 14. dec 2014 81 objav 32 31 2 |
#6
Odlično, sedaj, ko sem create "vrgel" ven iz resource z except, pa deluje :) Očitno da Laravel prednost resource (v tem primeru ne bere od vrha navzdol v routes.php) in če ima določen Controller tega definiranega, bo najprej pogledal za Action (KrnekiController@create) znotraj resource, dobil URI (krneki/create) in ker ni definiranega {parametra}, kreiral "napačen" url - krneki?id=97, če si prav to razlagam... Sedaj, ko sem to odstranil, pa pravilno pogleda v Route::get('krneki/create/{id}', 'CategoriesController@create'); in seveda generilia pravilen url krneki/97. Super, hvala ti za pomoč :) *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|
|
bostjan
17. jul 2015 20:37:49
Pridružen od: 31. jul 2008 643 objav 689 30 9 |
#7
Problem je ker si ti določil 2 ruti na 1 action. V tem primeru je šlo po vrsti in ti je resource povozil tvojo. Simpl. ;) |
|
|
thai
17. jul 2015 21:11:20
Pridružen od: 14. dec 2014 81 objav 32 31 2 |
#8
Aha, pa res. Torej tole ne dela tako kot bi želel če obrnem vrstni red, pa dela :) Ampak bom raje kar ostal pri except :) *Uporabniku je bila prepovedana uporaba foruma zaradi večih uporabniških računov, ki so po [pravilih obnašanja](/pravila.html) prepovedani.*
|
|