4

次のような再生テンプレートがあります。

@(projects: List[Project], projectForm: Form[Project])

@import helper._
@main("Create projects") {
    <div class="accordion">
    @for(project <- projects) {
        <h3>@project.name</h3>
        <div>
        @form(routes.Application.updateProject(project.getId), 'class -> "ajaxForm") {
            @* I'm not even sure why I need to specify the FQN of Map here *@
            @defining(projectForm.bind(scala.collection.mutable.Map( "name" -> project.name,
                "description" -> project.description))) { form =>
                @inputText(form("name"))
                @textarea(form("description"))
                <input type="submit" value="Update"/>
            }
        }
        </div>

    }
    </div>
    @form(routes.Application.createProject()) {
        <fieldset>
            <legend>Create a new project</legend>
            @inputText(projectForm("name"))
            @textarea(projectForm("description"))
            <input value="create" type="submit"/>
        </fieldset>
    }
}

Projectlong idと とString nameを含むモデルdescriptionです。

ここでの私の問題はここにあります

@inputText(form("name"), 'value -> project.name)
@textarea(form("description"))

inputText と textarea は常に IDnamedescriptionそれぞれを取得します。私はそれらの多くを持っているので、これらの ID はもはや一意ではありません。これは引き続きクロムで機能しますが、ID はドキュメント内で一意でなければならないことを理解しています。Play には、この種の問題に対処する組み込みの方法がありますか? それとも、独自の解決策を考え出す必要がありますか? 後者の場合、これにアプローチする方法についていくつかの提案はありますか? それとも根本的に間違ったことをしていますか?

4

1 に答える 1