Javascript Ember js错误:适配器操作失败

Javascript Ember js错误:适配器操作失败,javascript,ruby-on-rails,ember.js,ember-data,ember-cli,Javascript,Ruby On Rails,Ember.js,Ember Data,Ember Cli,作为Ember.js的初学者,我尝试从Rails Api服务器获取一些数据到Ember应用程序。我的Ember应用程序正在尝试获取并显示rails api提供的类别名称。 我正在使用 余烬版本:1.13.8 节点:0.12.7 净现值:2.13.4 app/router.js Router.map(function() { this.resource('categories',function(){ this.resource('category',{path: '/:categ

作为Ember.js的初学者,我尝试从Rails Api服务器获取一些数据到Ember应用程序。我的Ember应用程序正在尝试获取并显示rails api提供的类别名称。 我正在使用

  • 余烬版本:1.13.8
  • 节点:0.12.7
  • 净现值:2.13.4
app/router.js

Router.map(function() {
  this.resource('categories',function(){
    this.resource('category',{path: '/:category_id'});
  });
});
routes/categories/index.js

export default Ember.Route.extend({
 model() {
    return this.store.findAll('category')
  }
});
app/models/category.js

export default DS.Model.extend({
    name: DS.attr('string')
});
app/adapters/application.js

export default DS.JSONAPIAdapter.extend({
   shouldReloadAll: function() { return true; },
   namespace: 'v1',
   host: 'http://ip.address-to_rails_api'
});
app/templates/categories/index.hbs

<ul>
    {{#each model as |category|}}
       <li>{{category.name}}</li>
    {{/each}}
 </ul>
但当我在我的余烬应用程序中访问/分类时。 注释显示在浏览器中,余烬检查器中出现错误

routeName: "categories.index_error"
context: Error: Adapter operation failed
currentModel: Error: Adapter operation failed
此外,ember服务器控制台也会反映错误

Content Security Policy violation: {}
我还尝试将JSONAPIAdapter更改为RESTAdapter,但它给出了弃用错误。请帮助我了解问题。

最终解决了问题 问题出在Rails API和Ember应用程序的两个部分上

第一个错误

Content Security Policy violation: {}
已通过向ember应用程序添加内容安全策略删除 config/environment.js

contentSecurityPolicy: {
  'default-src': "'none'",
  'font-src': "'self'",
  'img-src': "'self'",
  'media-src': "'self'",
  'style-src': "'self' 'unsafe-inline'",
  'script-src': "'self' 'unsafe-eval' http://ip_to_rails_api",
  'connect-src': "'self' ws://ip_to_rails_api"
}
然后我犯了个错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 404.
通过在rails api端使用跨源资源共享或CORS解决了此错误。因此,对于每个请求,浏览器首先发送一个选项请求,服务器返回一个带有一些额外标题的响应。然后,浏览器可以发出原始请求

有关CORS的更多信息,请参阅《最终解决问题》 问题出在Rails API和Ember应用程序的两个部分上

第一个错误

Content Security Policy violation: {}
已通过向ember应用程序添加内容安全策略删除 config/environment.js

contentSecurityPolicy: {
  'default-src': "'none'",
  'font-src': "'self'",
  'img-src': "'self'",
  'media-src': "'self'",
  'style-src': "'self' 'unsafe-inline'",
  'script-src': "'self' 'unsafe-eval' http://ip_to_rails_api",
  'connect-src': "'self' ws://ip_to_rails_api"
}
然后我犯了个错误

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. The response had HTTP status code 404.
通过在rails api端使用跨源资源共享或CORS解决了此错误。因此,对于每个请求,浏览器首先发送一个选项请求,服务器返回一个带有一些额外标题的响应。然后,浏览器可以发出原始请求


有关CORS的更多信息,请参阅

我在这里遇到了同样的问题。不幸的是,到目前为止,我还没有解决方案。有一点需要注意的是,“资源”在1.13.8之前就被弃用了。是的,我把资源改成了路由,但问题是别的。在ember中引起的主要问题是由于代码中的指数变化。他们正在以非常快的速度改变它,所以每件事在一个月后都会被弃用。我在这里遇到了同样的问题。不幸的是,到目前为止,我还没有解决方案。有一点需要注意的是,“资源”在1.13.8之前就被弃用了。是的,我把资源改成了路由,但问题是别的。在ember中引起的主要问题是由于代码中的指数变化。他们正在以非常快的速度改变它,所以每件事在一个月后都会被弃用。