0
我已經得到了使用不同的視圖模板渲染幾個控制器功能。這些按預期工作,但是,控制器函數中的代碼非常相似,並且懇求重構爲一個通用函數。所以,我需要的東西,像這樣:通過一個通用的視圖模板作爲函數參數
def controller1() = Action {
// call some controller1-specific logic here
refactoredFunc(views.html.view1)
}
def controller2() = Action {
// call some controller2-specific logic here
refactoredFunc(views.html.view2)
}
def refactoredFunc(view: play.api.templates.Html) = {
// some common logic here
Ok(view)
}
上述作品(好,至少它編譯),但我很不滿意指定refactoredFunc
只接受Html
模板作爲輸入,因爲這是一個人爲的約束不必在那裏。
我試着更換play.api.templates.Html
與play.api.templates.BufferedContent[_]
但是編譯器不喜歡這樣。
那麼,有沒有一個通用的方法,我可以做到這一點沒有強制要求的觀點是HTML?
謝謝!雖然這不是我需要的確切解決方案(我過分簡化了我的問題描述 - 這些觀點也需要爭論) - 它確實指向了我的正確方向: – ishaaq