提升CRUD“列出所有”问题

时间:2011-05-11 09:22:26

标签: scala crud lift

我正在尝试关注this教程。我有一个非空数据库。但表格没有传播。我试过调试它:toShow方法返回正确的记录,在flatMap的每次迭代中它都有一个正确的,非空的项目实例,但结果,这个方法返回的是这个:List(\n{16 spaces here},\n{16 spaces here})。并且表格没有传播。 我的更新代码如下:

ListCar片段:

class ListCar {

  def list(xhtml: NodeSeq) : NodeSeq = {
    toShow.flatMap(car =>
      bind("car", xhtml,
        "name" -> car.name.is,
        "owner" -> car.owner.name
      )
    )
  }

  private def toShow = {
    Car.findAll();
  }

}

list.xhtml:

<table>
    <thead>
    <tr>
        <th>Name</th>
        <th>Owner</th>
    </tr>
    </thead>

    <tbody>
        <lift:list_car.list>
            <tr>
                <td>
                    <car:name/>
                </td>

                <td>
                    <car:owner/>
                </td>
            </tr>
        </lift:list_car.list>
    </tbody>
</table>

这可能是什么问题?

2 个答案:

答案 0 :(得分:0)

请参阅此处的示例(位于最底部):http://www.assembla.com/spaces/liftweb/wiki/View_First。不幸的是我现在无法尝试代码。您可以尝试另外两种选择:

  1. "name" -> car.name.is替换为"name" --> car.name-->而不是->
  2. "name" -> car.name.is
  3. 之类的内容替换"name" -> SHtml.text(car.name.is)

答案 1 :(得分:0)

我通过编辑html文件解决了这个问题: 而不是将<tr>包裹在<lift:list_car.list>中,而是将其更改为<tr class="lift:listCar.list">,并且有效。