findByKey()를 수행하는 기본적인 컨트롤러 동작이 있습니다. '45'합니다 (params.key) 존재하지 않는 경우CFWheels - params.key가없는 경우 리디렉션 사용자가 있습니까?
(45)는 그러나, 나는에 그냥/핀/리디렉션 할
/핀/쇼/: 같은 URL이 보일 것이다.
키를 지정하지 않은 경우에도 여전히 모든 게시물에 대해 표시 작업이 표시되는 것으로 보입니다. 나는 이것에 대해 약간 혼란 스럽다.
또한 params.key에 대한 show() 액션의 체크를하면 예상대로 작동하지 않습니다. 내 리디렉션이 발생하지 않습니다 ... 비록 매개 변수를 덤프해도 키가 표시되지 않습니다. 어떤 도움을 주시면 감사하겠습니다
public void function show() {
if(!structKeyExists(params, "key")) {
flashInsert(messages = [{ messageString="Key is required.", messageType="error" }]);
redirectTo(route="pin");
}
param name="params.page" default="1";
param name="params.pageQuantity" default="10";
pins = model("pin").findByKey(
key = params.key,
returnAs = "query",
include = "user",
order = "createdat DESC",
page = params.page,
perPage = params.pageQuantity
);
}
:
은 여기 내 쇼() 액션이다!
고마워, 마이클.
업데이트 :이 경로 함께 할 수있는 뭔가가있을 수 있습니다 보인다
?
addRoute(name="pinShow", pattern="pin/show/[key]", controller="pin", action="show");
addRoute(name="pinEdit", pattern="pin/edit/[key]", controller="pin", action="edit");
addRoute(name="pinDelete", pattern="pin/delete/[key]", controller="pin", action="delete");
addRoute(name="pinUpdate", pattern="pin/update", controller="pin", action="update");
addRoute(name="pinNew", pattern="pin/new", controller="pin", action="new");
addRoute(name="pinCreate", pattern="pin/create", controller="pin", action="create");
addRoute(name="pinWanted", pattern="pin/wanted", controller="pin", action="wanted");
addRoute(name="pin", pattern="pin", controller="pin", action="index");
그들처럼 그들이 경로없이 동일한 URL 패턴을 사용으로 이제,이 노선들은 많은 무의미한 것처럼 보일 수 있지만 계획이 향후 변경하는 것입니다 : 여기에 아래의 핀 내 노선이다.
/pin/show/키를 누르지 않으면/pin/index/controller 및 action에로드되지만 여전히/pin/show/URL이 URL에 표시됩니다.
코드가 if 문을 만드는가? 키는 정의되었지만 비어 있습니까? –
params.key가 구조체에 표시되는지 여부에 관계없이 if 문의 코드는 실행되지 않습니다. 흥미롭게도, 내가 params을 버리면, 나는 그 행동이 지표라고 봅니다.그래서 레코드가 발견되지 않았을 때처럼, URL이 여전히/pin/show/ –