我想根据我的路由动态设置我的ActiveModelAdapter标头,以便我可以从后端优化数据负载。
我需要为索引和显示路由动态设置标题为
App.ResourceAdapter = DS.ActiveModelAdapter.extend
host: "localhost:3000"
headers:
# For Index routes
"Accept": "application/vnd.app+json; version=1"
# OR For Show routes
"Accept": "application/vnd.app-detailed+json; version=1"
Ember doc建议使用计算头,但如何在适配器中获取路由上下文?
答案 0 :(得分:1)
您可以通过App.__container__.lookup("controller:application").get("currentRouteName")
根据doc
然后由你做以下事情:
headers : function(){
var location = App.__container__.lookup("controller:application").get("currentRouteName") ;
if(location==="resource"){
return "Accept": "application/vnd.app+json; version=1"
}else{
return "Accept": "application/vnd.app+json; version=1"
}
}.property().volatile()
您需要适应当然的需求:)