Ruby on rails 如何在rails中处理JSON以在更新中响应ember
我需要从rails服务器创建一个正确的响应,但我不知道如何创建 这就是我犯的错误 警告:在有效负载中遇到“status”,但找不到模型名为“status”的模型(使用解析模型名)frontend@serializer:post:.modelNameFromPayloadKey(“状态”)” controller/posts/edit.jsRuby on rails 如何在rails中处理JSON以在更新中响应ember,ruby-on-rails,ember.js,server,Ruby On Rails,Ember.js,Server,我需要从rails服务器创建一个正确的响应,但我不知道如何创建 这就是我犯的错误 警告:在有效负载中遇到“status”,但找不到模型名为“status”的模型(使用解析模型名)frontend@serializer:post:.modelNameFromPayloadKey(“状态”)” controller/posts/edit.js export default Ember.Controller.extend({ actions:{ submit: function(p
export default Ember.Controller.extend({
actions:{
submit: function(params){
var self = this;
this.store.findRecord('post', params).then(function(post){
post.save();
self.transitionToRoute('posts');
});
}
}
});
这是rails中的函数,当我在ember中保存帖子时,它会被命中
def update
post = Post.find(params[:id])
if post.update(strong_params)
render json: {status: "ok"}
else
render json: {status: "error"}
end
end
model/post.js
export default DS.Model.extend({
title: DS.attr("string"),
body: DS.attr("string")
});
那么我如何在rails中处理json来告诉我我的帖子何时可以更新
注意:帖子已成功更新,但在我的日志控制台中显示了该消息,我想纠正它这听起来像您的Ember序列化程序是当前默认的
JSONAPISerializer
,它对您的JSON响应应该是什么样子有着强烈的意见。相反,如果切换到更基本的序列化程序(如RESTSerializer),则可能会停止看到错误。更多信息请参见:
也就是说,使用Ember和Rails的部分优势在于,您可以使用预构建的序列化层,这将简化使用API时所需的大量来回数据。因此,可能也值得探索这些选项…所以您的服务器返回无效的JSON,我们应该通过查看水晶球来猜测原因?首先看看服务器如何响应并建立一个。信不信由你的答案帮助我,我一直在关注这个问题,就像问题只是余烬一样,所以我需要重新表述我的问题。我猜你不需要返回任何JSON。您应该能够只使用
标题:ok
。对于不成功的响应,您应该返回422个不可处理的实体-呈现json:{errors:@post.errors.full_messages},status::unprocessable_entity
。这取决于ember中使用的适配器。但我确实建议您确保应用程序返回正确的HTTPs响应代码。