首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ember中控制rails资源路由选项?

如何在Ember中控制rails资源路由选项?
EN

Stack Overflow用户
提问于 2015-08-13 08:10:36
回答 1查看 55关注 0票数 1

在Rails中,我添加了[GET] /photos/untagged路由。

效果很好。

代码语言:javascript
复制
resources :photos do
  collection do
    get :untagged
  end
end

但是,我不能在安伯取回。

成员可能会将此响应解析为对象。不是数组。我认为这与show在Ember的行动相冲突。

我不想使用像/photos?query=untagged这样的查询参数。

代码语言:javascript
复制
export default Ember.Route.extend({
  model: function() {
    return this.store.find("photo", "today");
  }
});

我该如何解决这个问题?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 10:03:53

不要那样使用find,它用于按id返回单个记录。相反,简单的解决方案是覆盖urlForQuery

代码语言:javascript
复制
export default Ember.RESTAdapter.extend({
  urlForQuery(query, modelName){
    if(query.untagged){
      delete.query.untagged
      return this._super(query, modelName) + '/untagged';
    }
    return this._super(query, modelName);
  }
});

然后使用它:

代码语言:javascript
复制
export default Ember.Route.extend({
  model() {
    return this.store.query("photo", {untagged: true});
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31982863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档