在ember中,我有一个名为“ Post”的模型。 如果我执行
record.save()
创建帖子时,默认情况下,它发布到我在Rails(后端)中的/post
网址中。这对我来说有效。但是,为了将来使用,我如何指定自定义路线?假设我想将此模型发布到后端
"/post/save"
我如何在烬中制作record.save()
才能走这条路线?
答案 0 :(得分:2)
Adapters管理模型与远程数据通信的方式。如果您需要超出ember约定,则可以为模型创建一个自定义适配器,该适配器可以将动作指向不同的位置。
ember generate adapter model-name
在您的情况下,创建帖子时,您想致电/post/save
而不是/post
。您将重载方法urlForCreateRecord
:
urlForCreateRecord(modelName, snapshot) {
return '/post/save';
}
每个操作(创建,更新,新的,查找,查询)的URL都可以调整以适合您的后端。
答案 1 :(得分:0)
您可以在帖子模型的适配器中完成此操作。
鉴于您的情况,您需要添加:
urlForCreateRecord () {
return this._super(...arguments) + '/save';
}
仅当save
方法正在创建记录(POST)时才使用该url,当save
设置现有记录(PATCH)时,您应使用urlForUpdateRecord