質問編集履歴

2 内容調整

Nitta

Nitta score 88

2019/02/21 09:15  投稿

Playframeworkのテンプレート
お世話になってます。
今、あるファイル(scala)をインクルードしたいと思い以下のような
コードをファイルに記載していますが、うまく行きません。
どこが悪いのかお分かりの方居られましたら、ご教示下さい。
●main.scala.html(入れ子側)
```
@(header: String)(content: Html)
<!DOCTYPE html>
<html lang="ja">
   <head>
       <!-- 愛媛Nitta -->
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>愛媛Nitta</title>
   <!--CSS -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
   <!--JS -->
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
   <!--自作CSS -->
   <style type="text/css"><!--
   /*ここに調整CSS記述*/
   -->
   </style>   
   </head>
   <body>
   <div class="container">
     <div class="page-header">
       <h1>@header</h1>
     </div>
     <div class="row">
        <div class="col-md-12">
       <ul class="nav nav-pills">
         <li role="presentation"><a href="/tem">index</a></li>
         <li role="presentation"><a href="/tem/create">create</a></li>
         <li role="presentation"><a href="/init">init</a></li>
       </ul>
        </div>
     </div>
         //ここにdetail.scala.htmlを挿入
           @content
         <div class="page-footer">
        <div>footer</div>
     </div>
   </body>
</html>
```
●detail.scala.html(受け取り側)
```
@(message: String, team: models.team)
@import play.i18n._
@import utils.DateParser
@main("チーム詳細"){
///表示内容
}
```
●controllers
```
public class Application extends Controller {
   
 private static final Logger logger = LoggerFactory.getLogger(Application.class);
  public Result detail(Long id) {
       logger.info("Application#detail");
       Team team = Team.finder.byId(id);
       return ok(detail.render("Team Detail", team));       
   }
}
```
尚、detail及びmainファイルともに同じviewsフォルダにいれてます。  
記載内容に問題ないと思うのですが、main側がrenderした際に入ってない状況です。
因みに、直接書き込むと問題なく表示されます。
以上、よろしくお願いします。
  • Play Framework 2

    170 questions

    Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

1 内容調整

Nitta

Nitta score 88

2019/02/21 09:13  投稿

Playframeworkのテンプレート
お世話になってます。
今、あるファイル(scala)をインクルードしたいと思い以下のような
コードをファイルに記載していますが、うまく行きません。
どこが悪いのかお分かりの方居られましたら、ご教示下さい。
●main.scala.html(入れ子側)
```
@(header: String)(content: Html)
<!DOCTYPE html>
<html lang="ja">
   <head>
       <!-- 愛媛Nitta -->
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>愛媛Nitta</title>
   <!--CSS -->
   <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
   <!--JS -->
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
   <!--自作CSS -->
   <style type="text/css"><!--
   /*ここに調整CSS記述*/
   -->
   </style>   
   </head>
   <body>
   <div class="container">
     <div class="page-header">
       <h1>@header</h1>
     </div>
     <div class="row">
        <div class="col-md-12">
       <ul class="nav nav-pills">
         <li role="presentation"><a href="/tem">index</a></li>
         <li role="presentation"><a href="/tem/create">create</a></li>
         <li role="presentation"><a href="/init">init</a></li>
       </ul>
        </div>
     </div>
         //ここにdetail.scala.htmlを挿入
           @content
         <div class="page-footer">
        <div>footer</div>
     </div>
   </body>
</html>
```
●detail.scala.html(受け取り側)
```
@(message: String, team: models.team)
@import play.i18n._
@import utils.DateParser
@main("チーム詳細"){
///表示内容
}
```
●controllers
```
public class Application extends Controller {
   
 private static final Logger logger = LoggerFactory.getLogger(Application.class);
  public Result detail(Long id) {
       logger.info("Application#detail");
       Actor actor = Actor.finder.byId(id);
       return ok(detail.render("Actor Detail", actor));       
       Team team = Team.finder.byId(id);
       return ok(detail.render("Team Detail", team));       
   }
}
```
記載内容に問題ないと思うのですが、main側がrenderした際に入ってない状況です。
因みに、直接書き込むと問題なく表示されます。
以上、よろしくお願いします。
  • Play Framework 2

    170 questions

    Play Framework 2はPlayのメジャーバージョンです。現代の web アプリケーション開発に必要なコンポーネント及び API を統合した生産性の高い Java と Scala の web アプリケーションフレームワークです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る