2014-01-08 26 views
0

routes的摘录:如何在Play Framework中将值从表单传递到POST请求?

GET  /scenarios/:scenario/checkpoints/add  controllers.CheckpointController.createCheckpointGET(scenario: Long) 
POST /checkpoints/add       controllers.CheckpointController.createCheckpointPOST(scneario: Long) 

的摘录视图:

@(form: Form[CheckpointController.Creation], user: User, scenario: Scenario) 
[...] 
@helper.form(routes.CheckpointController.createCheckpointPOST) { 
    <input id="name" type="text" name="name" placeholder="Checkpoint name" value="@form("name").value"> 
    <input id="longitudeDegrees" type="number" name="longitudeDegrees" placeholder="Longitude degrees" value="@form("longitudeDegrees").value"> 
    <input id="longitudeMinutes" type="number" name="longitudeMinutes" placeholder="Longitude minutes" value="@form("longitudeMinutes").value"> 
    <input id="latitudeDegrees" type="number" name="latitudeDegrees" placeholder="Latitude degrees" value="@form("latitudeDegrees").value"> 
    <input id="latitudeMinutes" type="number" name="latitudeMinutes" placeholder="Latitude minutes" value="@form("latitudeMinutes").value"> 
    <input id="message" type="text" name="message" placeholder="Message to send" value="@form("message").value"> 
    <input id="points" type="number" name="points" placeholder="Points" value="@form("points").value"> 

    <button type="submit"> 
     Create 
    </button> 
} 

我如何通过scenario.idcreateCheckpointPOST(scenario: Long)?我知道我可以通过隐藏的输入发送它,但有可能以其他方式做到吗?

+0

是没可能做:

POST /checkpoints/:scenario/add controllers.CheckpointController.createCheckpointPOST(scenario: Long) 
在你看来

该方法没有参数,并获得在其身体的身份像其他参数? – Thibaut

+0

@Thibaut这是,但我想知道如何做另一种方式。 – pmichna

回答

1

,这似乎是最自然的我的方式,URL包含scenario.id

routes

@helper.form(routes.CheckpointController.createCheckpointPOST(scenario.id)) { 
+0

我以为我试过这个。无论如何,谢谢 - 它的作品。 :) – pmichna

相关问题