1

Twitter刚刚发布了bootstrap 2.1,我想更新play2的helpers。

当前规则是 https://github.com/playframework/Play20/blob/master/framework/src/play/src/main/scala/views/helper/twitterBootstrap/twitterBootstrapFieldConstructor.scala.html

我去了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
            )
4

3 回答 3

3

我最近遇到了类似的问题,最终为此创建了自己的 Helper。

内容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) }
于 2012-08-24T12:13:25.603 回答
2

您更新了 Play!源代码,但你没有编译和打包它。

更改助手的最佳方法是在您自己的项目中使用它们:

  1. 将新的助手放在app/view目录中
  2. 直接在您的视图中使用它们而不添加任何导入
于 2012-08-22T14:25:14.470 回答
0

Github 上也有请求在 Play 框架中修复此问题。也许有人可以方便地使用这个提交

于 2012-08-30T08:52:44.450 回答