我被要求在客戶的網站上修復損壞的聯繫表格。當提交表單時,應該會觸發emailsend
操作,但似乎不起作用。我已經檢查過路由器,在我看來,有兩條路由/contact
,這意味着這個動作永遠不會被觸發,因爲這條路徑已經滿足了其他路由的要求。我的理解是正確的嗎?如果是這樣,我不明白爲什麼聯繫表格應該在以前工作!Symfony2路由器配置是否正確?
foo_core_homepage:
path: /
defaults: { _controller: FooCoreBundle:Default:index }
foo_core_ourwork:
path: /work
defaults: { _controller: FooCoreBundle:Default:clients }
foo_core_services:
path: /services
defaults: { _controller: FooCoreBundle:Default:services }
foo_core_contact:
path: /contact
defaults: { _controller: FooCoreBundle:Default:contactMobile }
foo_core_findus:
path: /findus
defaults: { _controller: FooCoreBundle:Default:findus }
foo_core_email_send:
path: /contact
defaults: { _controller: FooCoreBundle:Default:emailsend }
路由按定義順序進行評估。當找到匹配項時,它停止搜索,選擇該路線並運行它。您需要定義從最嚴格到最不嚴格的路線,以避免這些問題。 – hasumedic
謝謝。我沒有寫這個路由器,實際上我之前沒有用過Symfony。我糾正最後一條路線永遠不會匹配嗎? – Magicode
是'foo_core_email_send'永遠不會被調用 –