Play2.2.1 父项目同名视图不能调用子播放项目视图
Posted
技术标签:
【中文标题】Play2.2.1 父项目同名视图不能调用子播放项目视图【英文标题】:Play2.2.1 cann't call sub play project view if parent project have same name view 【发布时间】:2014-03-23 08:44:49 【问题描述】:在 Play2.2.1 中,我不能调用子播放项目视图,如果父播放项目具有相同的名称视图,如 index.scala.html。
如何调用子项目 index.scala.html?
我创建示例项目HERE
条件如下
创建具有相同名称视图的嵌套播放项目,如 index.scala.html。
├── app
│ ├── controllers ── Application.scala
│ └── views ── index.scala.html
├── conf ── routes
├── others
│ └── sub
│ ├── app
│ │ ├── controllers ── Application.scala
│ │ └── views
│ │ ├── index.scala.html
│ │ └── subonly.scala.html
│ └── conf ── sub.routes
将子项目路由添加到父路由中,例如-> /sub/ sub.Routes
最后,在父项目app/views和子项目app/views中创建index.scala.html等同名视图文件。
问题
如果父项目没有子项目视图的同名视图,则调用子项目视图。
如果父项目与子项目视图同名,则调用子项目视图时,会调用父项目视图。
我想调用同名子项目视图。
示例操作
父路由的索引调用父项目index.scala.html
GET / controllers.Application.index
-> /sub/ sub.Routes
子项目路由的索引调用子项目index.scala.html(但称为父项目index.scala.html)
GET / controllers.subproject.Application.index
GET /only controllers.subproject.Application.only
喜欢这个
从不显示子项目索引视图页面。
【问题讨论】:
【参考方案1】:我自己解决了这个问题。
修复子项目视图目录如下。
├── app
├── others
│ └── sub
│ ├── app
│ │ ├── controllers ── Application.scala
│ │ └── views
│ │ └── sub
│ │ ├── index.scala.html
│ │ └── subonly.scala.html
并从控制器中调用它
def index = Action
Ok(views.html.sub.index())
它工作正常。
【讨论】:
以上是关于Play2.2.1 父项目同名视图不能调用子播放项目视图的主要内容,如果未能解决你的问题,请参考以下文章
(iOS) 音频播放器作为应用程序中所有父视图控制器上的子视图控制器