yüzden routing.yml ben belirli ayarlarını düzenlemek ve silmek için tanımlanan aşağıdaki yolları vardır:Symfony2'nin Yönlendirme: yöntem verilmiyor (izin ver: {Yöntem})
routing.yml:
settings.editDefaults:
path: settings/{id}/defaults/edit/{widgetType}
defaults: { _controller: AppBundle:Settings:editDefaults }
methods: [POST, PUT]
settings.deleteDefaults:
path: settings/{id}/defaults/delete/{widgetType}
defaults: { _controller: AppBundle:Settings:deleteDefaults }
methods: [DELETE]
tanımlanmış
Ve benim denetleyicisi var doğru eylemleri: SettingController.php:
/**
* edit the default settings of a hotel/widget
*/
public function editDefaultsAction(Request $request)
{
//Edit logic
}
/**
* delete a default setting of a hotel/widget
*/
public function deleteDefaultsAction($hotelId, $widgetType)
{
//Delete logic
}
İkinci eylemde, yalnızca id
ve widgetType
geçirilmesine ihtiyacım var, böylece seçili kaydı sorgulayıp kaldırabilirim.
Ben şu olsun yolundan biriyle giderken:
Düzenleme Rota Hatası:
No route found for "GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/edit/default": Method Not Allowed (Allow: POST, PUT)
Rota Hatası sil: zaman
No route found for "GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/delete/default": Method Not Allowed (Allow: DELETE)
Ama birini kaldır ve diğerlerini iyi çalışıyorlar. Benzer olan yol tanımları olduğunu mu varsayıyorum? Aynı yolları tutmam ve bu hatayı almam mümkün mü? Neyi anlamadım? Yardımlarınız, anth
Hey Jave, yanıt için teşekkürler.Artık yöntemleri kaldırdık, silerken, editAction'da bir hata bildiriyor, bu rota eyleminin neden çağrıldığının herhangi bir sebebi var mı? –
@AnthBieb: 'method' bölümünü kaldırdınız ama bunu korumanızı öneriyorum; bu semantik olarak doğrudur. hata, rotalarda değil, url isteğiyle (DELETE, PUT veya POST yöntemi ile ayarlanmış olarak adlandırılmalıdır) – DonCallisto
@AnthBieb, hatayı paylaşır mısınız? –