2014-06-14 102 views
0

在我玩2個應用程序,從控制器的方法我添加新的標題,如:爲什麼我不能在scala視圖中閱讀我的自定義標題?

def index(id: Option[Long]) = SecuredAction { implicit request => 
.... 
Ok(views.html.platform.alerts.index(request.user, currentUserAlerts, 
    TweetsDAO.loadTweets(alertId, None, 15))) 
     .withHeaders("isAdmin" -> userSettings.get.isAdmin.toString) 
} 

,我要訪問的頭在alerts.index階觀點一樣:

@request.headers.get("isAdmin") 

哪裏請求被定義爲隱含在我的視圖中:

(implicit request: RequestHeader) 

但沒有顯示任何內容。

如果我在scala視圖中打印所有標題,isAdmin不在那裏。

有人知道我在做什麼錯嗎?

+0

'isAdmin'是HTTP標頭的一個非常奇怪的名稱。你確定這實際上不是一個定義在任何'request.user'上的方法嗎? – wingedsubmariner

回答

2

Ok.withHeaders(...)將標題添加到返回給用戶的Result,而不是RequestHeader,因此不傳遞給視圖。

我試圖修改RequestHeader時試圖通過一些標誌,如isAdmin到視圖中看不到點。爲什麼不只是將明確的isAdmin: Boolean參數添加到視圖並傳遞它?這樣,您必須明確確定用戶是否是管理員,而不是依賴於添加到請求中的頭,這很容易被忽略。

相關問題