#921 ✓invalid

Global route argument issue

Reported by Paulecci | June 19th, 2011 @ 03:40 PM | in 1.3 (closed)

When a global route argument is defined for a page (or a set of pages) it is impossibile to get the reverse route path from pages which are served from a different controller.

Framework version: 1.2.1
Platform you're using: Mac OSX

Reproduction steps:

1) Defines the following two controllers:

class Application extends Controller { 
  @Before static setLang(String lang) {
    routeArgs.put("lang", lang); 

  public static index() { /* render something */ } 

class Admin extends Controller {

  public static index() { /* admin page */ }

2) Add the following rule in the route conf file:

GET /{lang}/index  Application.index 
GET /admin/index   Admin.index

3) Reverse the index page from the page Admin/index.html

<a hre...@{Application.index().add('lang','fr')}">French</a>

You get the following exception "No route able to invoke action Admin.action with arguments {} was found".


Take in consideration the multi-language site use case. For the main Application controller for which is defined the global routing rule. The reverse routing works fine. But if you have a different controller, for example the administration pages which are served by a controller that does not define the {lang} global routing, it is not possible to get the reverse routing for the pages server by the Application controller.

Comments and changes to this ticket

  • Nicolas Leroux

    Nicolas Leroux January 1st, 2013 @ 08:52 PM

    • State changed from “new” to “invalid”
    • Assigned user set to “Nicolas Leroux”
    • Milestone set to 1.3
  • SamanthaRennetel

    SamanthaRennetel March 4th, 2019 @ 05:14 PM

    As the student of the computer science I always search for the good codes which can help me on different occasion I start working on the mac os but cant find the relevant data about it but with the help me write an essay I reached this site and believe me it is very useful for me. Keep posting good work and help us in code thanks!

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2>Play framework</h2>

Play makes it easier to build Web applications with Java. It is a clean alternative to bloated Enterprise Java stacks. It focuses on developer productivity and targets RESTful architectures. Learn more on the <a href="http://www.playframework.org">http://www.playframework.org</a> website.<br><br>

<h2>Source code is hosted on github</h2>Check out our repository at <a href="http://github.com/playframework/play">http://github.com/playframework/play</a><br><br>

<h2>Contributing, creating a patch</h2> Please read the <a href="http://play.lighthouseapp.com/projects/57987/contributor-guide">contributor guide</a><br><br>

<h2>Reporting Security Vulnerabilities</h2> Since all bug reports are public, please report any security vulnerability directly to <em>guillaume dot bort at gmail dot com</em>.<br><br>

<h2>Creating a bug report</h2> Bug reports are incredibly helpful, so take time to report bugs and request features in our ticket tracker. We’re always grateful for patches to Play’s code. Indeed, bug reports with attached patches will get fixed far quickly than those without any.<br><br>

Please include as much relevant information as possible including the exact framework version you're using and a code snippet that reproduces the problem.<br><br>

Don't have too much expectations. Unless the bug is really a serious "everything is broken" thing, you're creating a ticket to start a discussion. Having a patch (or a branch on Github we can pull from) is better, but then again we'll only pull high quality branches that make sense to be in the core of Play.

People watching this ticket