Twitter刚刚发布了bootstrap 2.1,我想更新play2的帮手。
我去了C:\play\framework\src\play\src\main\scala\views\helper\twitterBootstrap
并将其更改为: (规则可以在这里找到:http://twitter.github.com/bootstrap/base-css.html#forms)
@(elements: views.html.helper.FieldElements)
@import play.api.i18n._
@import views.html.helper._
@**************************************************
* Generate input according twitter bootsrap rules *
**************************************************@
<div class="control-group error">
<label class="control-label" for="@elements.id">@elements.label(elements.lang)</label>
<div class="controls">
@elements.input
<span class="help-inline">@elements.errors(elements.lang).mkString(", ")</span>
<span class="help-block">@elements.infos(elements.lang).mkString(", ")</span>
</div>
</div>
但我不知道如何更新我的项目。
我做了
play
clean
run
但它仍然使用旧规则,任何想法?
编辑:
如何使用视图中的Twitter帮助器?
@(signupForm: Form[User])
@import helper._
@title = {
Sign Up
}
@main(title, nav = "signup") {
@helper.form(action = routes.SignUp.submit) {
<fieldset>
<legend>Account informations</legend>
@inputText(
signupForm("username"),
'_label -> "Username",
'_help -> "Please choose a valid username.",
'_error -> signupForm.globalError
)
答案 0 :(得分:3)
我最近遇到了类似的问题,最终为此目的创建了自己的助手。
app/views/Helpers/bootstrapInput.scala.html
的内容:
@(elements: helper.FieldElements)
@*****************************************************
* Generate input according to twitter bootsrap rules *
******************************************************@
<div class="control-group @if(elements.hasErrors) {error}">
<label class="control-label" for="@elements.id">@elements.label</label>
<div class="controls">
@elements.input
<span class="help-inline">@elements.errors(elements.lang).mkString(", ")</span>
</div>
</div>
并且使用它将它放在您的视图中(在声明参数后直接在顶部):
@implicitField = @{ FieldConstructor(views.html.Helpers.bootstrapInput.f) }
答案 1 :(得分:2)
您更新了Play!源代码,但你没有编译和打包它。
更改帮助程序的最佳方法是在您自己的项目中使用它们:
app/view
目录答案 2 :(得分:0)
Github上还有pull request用于在Play框架中修复此问题。有人可能会使用this commit方便。