モデルのリストを Http.context に保存すると、ビューでループできません。
インデックス アクション :
@With(MembershipAction.class)
public static Result index() {
...
アクション構成:
public class MembershipAction extends Action.Simple {
@Override
public Result call(Context ctx) throws Throwable {
Member member = Membership.getUser();
if (member != null) {
// MGroup.findInvolving(member)= List<play.db.ebean.Model>
// code : find.where().eq("members.id", member.id).findList();
ctx.args.put("groups", MGroup.findInvolving(member));
}
return delegate.call(ctx);
}
}
テンプレート ビュー #1 :
@ctx().args.get("groups")
出力: BeanList size[6] hasMoreRows[false] リスト[models.MGroup@51、models.MGroup@3d、models.MGroup@2a、models.MGroup@29、models.MGroup@15、models.MGroup@1]
テンプレート ビュー #2 (機能していません) :
@for(group <- ctx().args.get("groups") ){
@group.name
}
出力 : コンパイル エラー / 値マップはオブジェクトのメンバーではありません
注: ここで説明する方法も機能しませんでした: play2 のどこにでもパラメータを渡さないようにするには?
スニペット「@Menus」の試行は不明でした...