Vấn đề: Hành động của bộ điều khiển có thẻ kết xuất mà không truyền vào mô hình. Có một hành động bắt đầu với từ 'get'.Sử dụng 'get' trong một hành động cho bộ điều khiển Grails làm cho hành động thực thi ngay cả khi không được gọi là
grails-app/views/trang web/home.gsp:
homepage
SiteController.groovy:
class SiteController {
def index() {
render (view: "home")
}
def getTest() {
render "getTest"
}
}
Các trang web được truy cập tại localhost: 8080/trang web để thực hiện thao tác chỉ số SiteController.
sản lượng dự kiến: trang chủ đầu ra thực tế: getTest trang chủ
Nếu render hành động của chỉ số được thay đổi như sau:
render(view: "home", model: [:])
Sản lượng dự kiến được sản xuất.
Nếu một ký tự được thêm vào trước khi từ đó nhận được trong tên hành động, đầu ra mong đợi được tạo ra.
Điều thú vị đủ, getTest() là màu được mã hóa bằng màu tím trong IDEA. Cũng nên lưu ý rằng nếu bạn có nhiều phương thức với từ nhận được ngay từ đầu, chúng được TẤT CẢ thực thi.
Điều này không xảy ra trong Grails 1.3.6. Điều này có thể tái sản xuất trong một dự án Grails 2.2.2 hoàn toàn mới và có vẻ như là một lỗi đối với tôi. Tại sao chuyện này đang xảy ra?