2014-01-24 36 views
2

我測試了Sails.js並嘗試連接到前端的Ember.js,但遇到了Sails中自動生成的控制器方法路由的問題。是否可以更改sails.js藍圖生成的駝峯控制器路由?

我在Sails.js產生TestModel模型,我可以通過http://localhost:1337/testModel查詢模型,甚至更好的與Ember連接,我可以pluralize藍圖配置選項設置爲true,有一個是http://localhost:1337/testModels

但是,Ember的命名約定會爲數據存儲查詢方法生成請求,如http://localhost:1337/test-models

有什麼辦法可以自動化Sails.js來生成脊柱病例而不是駱駝病毒?或者,如果沒有,是否有可能讓Ember做到這一點?

我試圖找到一種解決方案,不包括爲每個有問題的型號名稱編寫自定義配置。

回答

2

您可以通過查詢testModels,而不是test-models

App.IndexRoute = Ember.Route.extend({ 
    model: function() { 
    return this.get('store').find('testColor'); 
    } 
}); 

http://emberjs.jsbin.com/OxIDiVU/164/edit

+0

我,我的模型鉤子函數如下: '返回this.store.find(「testModel」)' 但是當我檢查網頁的瀏覽器控制檯,我看到一個AJAX請求正在進行/測試的模型。我假定Ember自動將'testModel'轉換爲'test-model'。 –

+0

我應該注意到我使用'DS.RESTAdapter'。 –

+0

我上面提到的例子也是使用DS.RESTAdapter。你是否定製適配器? – Kingpin2k

2

補救灰燼這個數據很容易在帆v0.10您可以通過重寫identity屬性指定自定義的API資源身份在模型和控制器上。

// FooResourceController.js 
module.exports = { 
    identity: 'foo_resource' 
} 

// FooResource.js 
module.exports = { 
    identity: 'foo_resource', 
    attributes: { 

    } 
} 

// Routes bound on lift 
// 
// get /foo_resource 
// post /foo_resource 
// put /foo_resource 
// delete /foo_resource 
相關問題