2014-12-03 58 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