2015-04-12 3 views
0

Я пытаюсь сделать некоторые Javascript Rounting в моем Play Framework приложение, и я бегу в некоторые ошибки:рамки игры Javascript Routing Не удалось загрузить ресурсу

У меня есть кнопка с идентификатором #next, который следует использовать Ajax для загрузки некоторых новое изображение и текст в div с именем #content.

В моей Application.java я реализовал следующие два метода:

public static Result nextUser(int i) { 
    return ok(content.render(users.get(i))); 
} 

public static Result javascriptRoutes() { 
    response().setContentType("text/javascript"); 
    return ok(
      Routes.javascriptRouter("jsRoutes", 
        controllers.routes.javascript.Application.nextUser() 
      ) 
    ); 
} 

Сделано это content.scala.html файл:

@(user: User) 
<img id="user" src="@routes.Assets.at(user.getImg())" /> 
<h2>@user.getStatus()</h2> 

Добавлен это в в файл маршрутов:

GET  /nextuser     controllers.Application.nextUser(i: Int) 

GET  /assets/javascripts/routes controllers.Application.javascriptRoutes() 

И затем пробовал этот Javascript-код:

<script type="text/javascript" src="@routes.Application.javascriptRoutes()"></script> 
<script> 
    var userIndex = 1; 

    $("#next").click(function() { 
     jsRoutes.controllers.Application.nextUser(userIndex).ajax({ 
     success : function(data) { 
      $("#content").html(data); 
     }, 
     error: function(err) { 

     } 
     }); 
    }); 

</script> 

В файле Application.java в javascriptRoutes Method используются контроллеры. маршруты. Не может быть найдено.

Кто-нибудь знает, что вызывает ошибку?

Edit:

я мог решить первоначальные благодаря этой ошибке: Unable to resolve reverse routing methods in IntelliJ

Теперь это выглядит следующим образом:

enter image description here

Метод nextUser не может быть найден, даже когда Клири определены.

Когда я компилирую приложение с помощью activator compile и запустить его с помощью activator run моей хромированной консоли выглядит следующим образом:

http://i.gyazo.com/34581c81beda3520f927991c6a0c554f.png

так до сих пор маршруты файл как-то не может найти.

+0

Почему scala отмечен? – curious

+1

Не могли бы вы попытаться лучше объяснить, чего вы пытаетесь достичь? – Martijn

+0

сделал некоторые изменения –

ответ

0

Ok я мог бы решить эту проблему благодаря этому:

Can't get javascriptRoutes to work with Play Framework 2

Проблема заключалась в том порядке, в моем документе маршрутов. Как только я включил декларацию активов до того, как маршруты javascript ее сработали:

# Javascript Router 
GET  /assets/javascripts/routes  controllers.Application.javascriptRoutes() 

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 
Смежные вопросы