- router 작성시에 하나의 컨트롤러에 여러 URL 을 매핑하는 경우,
urlfor
가 예측할 수 없을 정도로 비정상적으로 작동한다. 예를 들어, 다음과 같이 router 를 작성했다고 하자.
... beego.Router("/mgmt/user", &c_mgmt.UserController{}, "get:Index") beego.Router("/mgmt/user/:page", &c_mgmt.UserController{}, "get,post:Index") beego.Router("/mgmt/user/:page/:s_item/:val", &c_mgmt.UserController{}, "get:Index") ...
- View 의 템플릿에서
{{urlfor ""mgmt.UserController.Index" "1"}}
를 작성한 경우,/mgmt/user/1
이 호출되어야 겠지만, 실제로는 전혀 다른 값이 호출된다는 것이다. 반면, URL을 호출한 경우에는 매핑된 컨트롤러가 제대로 실행된다. 그러므로, 정상적인 동작을 위해서는 URL 과 컨트롤러는 1:1 로 매핑해야 한다.
댓글 없음:
댓글 쓰기