2013-11-14 52 views
0

在我的系統中,每個用戶都有自己的公開個人資料。我只想在當前登錄用戶的配置文件頁面上顯示「編輯」按鈕。 現在,我通過使用此代碼Deadbolt:僅顯示當前登錄用戶的模板部分

@subjectPresent() { 
    @if(userProfile == userLogged){ 
     <button>Edit</button> 
    } 
    } 

其中userProfile是當前頁面的所有者用戶這樣做,並且userLogged是實際登錄的用戶。

考慮到我將不得不做很多次檢查,Deadbolt或Scala有沒有更好的(更乾淨)的方法來做到這一點?

回答

1

正如David建議的那樣,您可以將其包裝在自己的標籤中。標籤只是功能,看起來像其他視圖(事實上,它們是其他視圖)。

你可以嘗試像

​​3210

,並保存在一個名爲foo.scala.html

文件,然後你可以用

@foo(userProfile, userLogged) { 
    <button>Edit</button> 
} 

你需要使用這個在必要時使用正確的類型聲明或導入,例如用戶,導入標籤等。這取決於您的項目結構。

+0

真棒,謝謝! –

0

您最終需要在上面的代碼段中進行相同的邏輯檢查,以便您可以創建一個新的「標記」(另一個視圖)來接收「當前」用戶並執行兩個測試。您也可能想要創建類似於控制器端使用的東西,如SubjectPresentAction的擴展。

+0

嗨大衛,這似乎是一個好點。你能發佈一個示例代碼來更好地理解嗎?這將非常有幫助。謝謝 –

相關問題