汎用テンプレートを作成することは可能ですか?
擬似コード:
@(myForm: Form[T])
したがって、次のように再利用できます。
@inputText(
myForm("title"),
'_label -> "title"
)
- はいの場合、どうすればよいですか?
汎用テンプレートを作成することは可能ですか?
擬似コード:
@(myForm: Form[T])
したがって、次のように再利用できます。
@inputText(
myForm("title"),
'_label -> "title"
)
@(form: Form[_])
タイプセーフを窓の外に投げ出すので、私はこのアプローチが好きではありません。
を渡すと、テンプレートを使用するok(form.render(userform))
ときにコンパイラからの助けは得られませんが、テスト中にキャッチされない場合は実行時エラーが発生します。@form("lastNme")
私が行っているのは、一般的なフォーム (例: メンバーシップのサインアップと会議への登録、またはリーグの統計とチームの統計など) のインターフェイス (または play 2 scala の特性) を提供することです。そうすれば、コンパイル時に太い指のタイプミスなどをキャッチできます。
はい、対処するボイラープレートが増えますが、フェンスの動的言語側から来ると、実行時エラーを処理する必要が少ないほど良いです...
試しましたか?
app/views
パッケージで新しいバイを作成します。pseudo.scala.html
@(someParam: String)
<h1>This is my pseudo template</h1>
<div>And there is some param: <b>@someParam</b></div>
次に、他のビューでは、次のように使用できます。
...
<div>@pseudo("param pam pam")</div>
...
もちろん、param(s) は only である必要はありませString
ん。Form[T]
List[T]