2014-01-08 27 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

相關問題