Question

I have a grails 2.3.8 app.

It has a view: views/rte/subscriptions.gsp

I have a controller: controllers/RTEController.groovy

RTEController contains an action:

def subscriptions() { 

}

UrlMappings.groovy contains:

    "/rte" (controller: "rte") {
        action = [GET: "subscriptions"]
    }

When I browse to:

http://localhost:8080/MYAPP/rte 

I get a 404 error.

Why is the url mapping not working?

Was it helpful?

Solution

Since CamelCase format is not used for controller name. The mapping has to match with the exact name of the controller. Modify the url mapping as below:

"/rte" (controller: "RTE") { //controller name all CAPS
    action = [GET: "subscriptions"]
}

Also note, this is applicable during dependency injection as well. For example, if there is a service named RTEService, then it can only be injected in other classes as

def RTEService //instead of def rteService or def rTEService
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top