【问题标题】:how to deal with the unknown id with ember-data and emberjs如何使用 ember-data 和 emberjs 处理未知 id
【发布时间】:2013-07-10 04:48:28
【问题描述】:

基于 Rails、Emberjs 和 ember-data

路线

App.Router.map ->
  @resource "sentences", ->
    @resource "sentence",
      path: ":sentence_id", ->

型号

App.Sentence = DS.Model.extend(
  subject: DS.attr("string")
)

访问网址

http://localhost:3000/#/sentences/5

如果服务器中不存在id为5的句子,如何处理?

【问题讨论】:

    标签: ruby-on-rails exception ember.js ember-data routes


    【解决方案1】:

    如果您的服务器针对此类请求发送 404,Ember 将引发异常,该异常可以通过路由上的 errors 处理程序进行处理。从那里,您可以在 UI 中显示此内容或 transitionTo 另一个可以显示错误的路线。

    App.PostRoute = Ember.Route.extend({
      events: {
        error: function(reason, transition) {
          // display error or transitionTo here
        }
      }
    });
    

    【讨论】:

    • 是否有特定版本的 Ember 或 Ember Data 可以使用?我正在使用 Ember: 1.0.0-rc.4 和 Ember Data r13,它在我的 Route 上触发错误事件。
    • 这是来自 RC.6。它来自 Async Router Facelift,不直接依赖于 ember-data。
    • 感谢 Darshan...由于 Ember Data 的限制,我们还不能升级到 RC6。
    【解决方案2】:

    如何使用'reason'、'transition'这两个参数
    可以举一个例子吗

    为什么这里有两个参数?

    【讨论】:

    • reason 是来自 jQuery 的错误对象。 transition 是发生错误之前更改为的路由器转换对象。它主要在路由器内部,请参阅this
    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 2013-03-12
    • 2015-09-19
    相关资源
    最近更新 更多