我正在用Symfony 2.3.5創建一個應用程序來管理我的音樂。 我有一些問題來配置我的路線。路由正則表達式要求:排除特定詞
我要創建3條路線:
- 展藝術家:
/music/mickael_jackson
- 編輯藝術家:
/music/mickael_jackson/edit
- 劇專輯:
/music/mickael_jackson/thriller
正如你可以展示,將有'編輯藝術家'和'顯示專輯'之間的路線衝突:'編輯藝術家'被捕獲爲'顯示專輯路線'並給我找不到404。
我試圖使用正則表達式從路由'Show album'中排除關鍵字edit
和delete
。
我在這裏找到一個:A regular expression to exclude a word/string(接受答案有一點變化),但它不工作,我有一個錯誤,因爲我的路線「顯示專輯」不匹配正則表達式。
例外:
An exception has been thrown during the rendering of a template ("Parameter "nameCanonical" for route "corum_music_album_show" must match "/(?!edit|delete)" ("beneath_the_encasing_of_ashes" given) to generate a corresponding URL.") in CorumMusicBundle:Artist:show.html.twig at line 36.
我的路線:
* @Route(
* "{artistNameCanonical}/{nameCanonical}",
* name = "corum_music_album_show",
* requirements={"nameCanonical" = "^/(?!edit|delete)$"},
* options = {"expose"=true}
*)
我找不到什麼是錯的配置。
感謝您的幫助。
感謝您的幫助,但我仍然有同樣的例外。正則表達式是我學習的最複雜的東西,它對我來說仍然是一個謎...... – Elorfin
嗯,對不起,我對Symfony不夠了解,可以幫助你。儘管我已經提出了你的問題;希望別人能幫助你。 –