2014-12-03 53 views
5

我正在编写我的第一个Ember应用程序,这一刻,我试图从我的API(使用Rabl制作的Rails)中使用JSON,但RESTAdapater不起作用。它甚至没有伸出我的服务器!我得到这个代码:Ember RESTAdapter不伸出服务器

应用程序/适配器/ application.js中

import DS from 'ember-data'; 

export default DS.RESTAdapter.extend({ 
    host: 'localhost:3000', 
    namespace: 'api' 
}); 

应用程序/模型/ player.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    name: DS.attr('string'), 
    heightFormatted: DS.attr('string'), 
    heightCm: DS.attr('number'), 
    weightLb: DS.attr('number'), 
    weightKg: DS.attr('string'), 
    birthplace: DS.attr('string'), 
    birthdate: DS.attr('string'), 
    neoId: DS.attr('number'), 
    position: DS.attr('string'), 
    number: DS.attr('string') 
}); 

应用程序/路由/播放/索引。 js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function() { 
    return this.store.find('player'); 
    } 
}); 

应用程序/路由/ players.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function(params) { 
    return this.store.find('player', params.player_id); 
    } 
}); 

任何人的想法?我想我已经设置好了。

CONSOLE.LOG

[Report Only] Refused to connect to 'http://localhost:3000/api/players' because it violates the following Content Security Policy directive: "connect-src 'self' ws://localhost:35729 ws://0.0.0.0:35729". 
+0

你是否真的在网址中点击这些路线? – Kingpin2k 2014-12-03 15:44:50

+0

不,我在主页上访问链接''{链接到'Players''players'}}''。 – tehAnswer 2014-12-04 09:34:56

回答

2

我要你用烬-CLI其自带的股票有content-security-policy插件,这些天来猜测。

如果您编辑config/environment.js以允许此资源的事情应该正常工作。为此,请执行以下操作:

return ENV;之前的某个代码中,您应该找到一条以ENV.contentSecurityPolicy = {开头的行。找到这条线,你应该找到如下内容:

ENV.contentSecurityPolicy = { 
    'connect-src': "'self'", 
    'style-src': "'self'", 
    'script-src': "'self'", 
    'img-src': "'self'" 
} 

如果找不到它,请创建它。然后将connect-src键的值更改为还包括http://localhost:3000/*。利用上述新文件中的例子应该是这个样子:

ENV.contentSecurityPolicy = { 
    'connect-src': "'self' http://localhost:3000/*", 
    ... 
} 

Ember-cli speaks to this in greater (and far better) detail directly here on their site.

5

是烬-CLI不来与content-security-policy附加内置的这些日子。

为确保在开发模式下可以连接到您的api,请将以下代码段添加到以下文件config/environment.js并相应地更改您的端口号。

ENV.contentSecurityPolicy = { 'connect-src': "'self' http://localhost:3000" }

+0

这对我有效。接受的答案建议'connect-src:''self'http:// localhost:3000/*“,'。但通配符修改器没有按预期工作。谢谢! :) – conciliator 2015-03-07 06:50:34