【发布时间】:2013-05-18 17:25:43
【问题描述】:
我有一些类似 /ads/:ad_id 的路由,我可以通过我的控制器来做
this.transitionToRoute('ads.ad', adObj)
我怎样才能做类似的事情,但这次传递的是 ID 而不是加载的对象?
当然我知道我可以先通过 ID 加载一个 obj,但是 Ember 的强大之处在于为我们丢失了样板文件。
更新:因此,默认情况下,Ember 通过类似操作将模型序列化为 URL 参数
mode_instance -> { model_name_id: model_instance.id }
我的微不足道的尝试正在做
this.transitionToRoute('ads.ad', { id: adObjId })
但是当传递一个模型对象时,Ember 不会重新获取它。
所以,问题是:我有一个取决于广告 ID 的路线(单个广告视图)。我有这个 ID 作为号码。我想转换到这条路线,就像我只是输入了 url /ads/ID
【问题讨论】:
-
也许我把你的问题弄错了,但是
this.transitionToRoute('ads.ad', adObj.get('id'));是怎么回事? -
我试过了。 ember 转到
/ads/undefined。可能我可以通过覆盖序列化钩子来做我需要的事情 -
是的,
serialize钩子是我猜的一个选项 -
实际上不是 - 查看更新
标签: javascript ember.js