2009-07-02 26 views
6

Có lệnh nào khác để chuyển hướng bộ điều khiển đến một trang xem cụ thể khác với chuyển hướng và hiển thị không?Sự khác biệt giữa chuyển hướng và hiển thị trong CakePHP là gì?

Tôi có chuyển hướng như

$this->redirect('/forms/homepage/'.$userId); 

Nhưng nếu tôi cung cấp cho

$this->render('/forms/homepage/'.$userId); 

nó không được chuyển hướng đến trang đó.

Có vấn đề gì không?

Trả lời

12

Cuộc gọi chuyển hướng() phát hành HTTP redirect. Không có gì xảy ra sau khi chuyển hướng vì CakePHP chỉ dừng lại. Mọi thứ bạn đặt sau khi cuộc gọi chuyển hướng sẽ không được thực thi. Thay vào đó, trình duyệt chỉ phát hành một HTTP GET mới tới URL mà bạn đang chuyển hướng đến.

Lệnh gọi để hiển thị() chỉ cần tải chế độ xem. Nó có một đường dẫn đến một khung nhìn, không phải là một URL. Nó không chuyển hướng. Giả sử rằng $ userID là '101' trong trường hợp của bạn. Các cuộc gọi để render() sẽ cố gắng để tải các tập tin sau đây:

app/views/mẫu/trang web/101.ctp

Kể từ khi tập tin đó không tồn tại, không có gì xảy ra.

Các vấn đề liên quan