在Ember中,所有內容都以其名稱的一部分進行註冊。即:爲什麼灰燼模型與其他事物不同?
App.FoobarController
App.FoobarView
App.FoobarRoute
不包括Ember-Data模型,它們全部只由它們的根名稱調用。即
App.User
App.Post
App.Comment
爲什麼燼的數據模型打破這種格局,而不是被調用,分別App.UserModel
App.PostModel
,App.CommentModel
?
我意識到,我可以說出我的模型什麼是我想要的,但如果我繼續前進,名字我的用戶模型App.UserModel
,那麼我所有的AJAX請求被髮送到/user_models
和期望響應JSON與user_model
/user_models
根元素。我也意識到可以註冊別名/複數來使這種模式成爲可能。
但是,我可以做類似controllerName: 'Foobar'
和templateName: 'Foobar'
的事情,Ember自動將它們分別解析爲FoobarController
和FoobarTemplate
。我還可以定義App.FoobarView
和App.FoobarController
,Ember知道他們會一起自動配對。也就是說,我預計在將UserModel
的AJAX請求重寫爲/users
並通過App.store.find('User', 123)
啓用提取時,會發生相同類型的魔術。
在處理模型時這種約定是否被破壞或者這只是對Ember-Data的監督/錯誤/不一致?