3

これが私のテンプレートです-

      <div class="lift:Admin.showInvitees">
          <tr class="success"> <!-- "success" "error" -->
            <td><invitee:name></invitee:name></td>
            <td><invitee:description></invitee:description></td>
            <td><invitee:status></invitee:status></td>
            <td></td>
          </tr>
      </div>

そしてここにスニペットがあります-

class Admin {  
  def showInvitees(in: NodeSeq): NodeSeq = {
    val invitees = Invitation.allInvitations
    invitees.flatMap{invitee => bind("invitee", in, "name" -> invitee.name.is, "status" -> invitee.status.is, "description" -> invitee.description.is)}
  }
} 

この質問を確認して、解決策を使用しました。しかし、それは私にとってはうまくいきません。値はまったくバインドされていません。これは私が出力として取得するものです-

<tr class="success"> 
   <td><invitee:name></invitee:name></td>
   <td><invitee:description></invitee:description></td>
   <td><invitee:status></invitee:status></td>
</tr>

値のリストをテンプレートにバインドするのに助けが必要です。

最初の答えの後、私もこれを試しました-

def showInvitees(in: NodeSeq): NodeSeq = {
val invitees = Invitation.allInvitations
(".invitees" #> invitees.map{ inv =>
    ".invitee-name" #> inv.name.is &
    ".invitee-description" #> inv.description.is &
    ".invitee-status" #> inv.status.is
})(in)

}

これでも機能しません-テンプレート-

<div class="lift:Admin.showInvitees">
      <tr class="invitees success"> <!-- "success" "error" -->
        <td><span class="invitee-name"></span></td>
        <td><span class="invitee-description"></span></td>
        <td><span class="invitee-status"></span> </td>
        <td></td>
      </tr>
  </div>
4

1 に答える 1

4

これは、値をバインドするための古い構文です。新しいものを試してください:

// snippet
class Admin {  
  def showInvitees = {
    case class Invitee(name: String, descr: String, status: String)
    val invitees = List(Invitee("Alex", "for cookies", "ok"), Invitee("Bob", "for beer", "kicked out"))
    ".invitee" #> invitees.map { i =>
      ".invitee-name" #> i.name.is &
      ".invitee-descr" #> i.description.is &
      ".invitee-status" #> i.status.is
    }
  }
} 

// html
<div class="Admin.showInvitees">
  <table>
    <tr class="invitee success"> 
      <td><span class="invitee-name"></span></td>
      <td><span class="invitee-descr"></span></td>
      <td><span class="invitee-status"></span></td>
    </tr> 
  </table>
</div>

// result
  <table>
    <tbody><tr class="invitee success">
      <td>Alex</td>
      <td>for cookies</td>
      <td>ok</td>
    </tr><tr class="invitee success">
      <td>Bob</td>
      <td>for beer</td>
      <td>kicked out</td>
    </tr>
  </tbody></table>
于 2013-01-19T13:57:56.103 に答える