正しいレスポンスをレールサーバーから作成する必要がありますが、その方法はわかりません。更新時にemberに応答するためにレールでJSONを処理する方法
これは私に
「WARNING:が発生しました 『スローエラーです『』ペイロードではなく、何のモデルは、モデル名が見つかりませんでした』状態を状態(解決モデル名フロントエンド@シリアライザ使用:ポスト:.modelNameFromPayloadKeyを(「ステータス」))」
コントローラ/ポスト/ edit.js
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');
});
}
}
});
は、これは私が燃えさし
に私のポストを保存するとき、それがヒットしていますレール内の関数でありますdef update
post = Post.find(params[:id])
if post.update(strong_params)
render json: {status: "ok"}
else
render json: {status: "error"}
end
end
モデル/ post.js
export default DS.Model.extend({
title: DS.attr("string"),
body: DS.attr("string")
});
だから私は、私の記事が更新されたりしませ
注ができたときに私に教えて、レールの私のJSONを扱う方法:ポストがsucessfully更新されますが、私の中でログコンソールにそのメッセージが表示され、正しく表示されます
サーバーが無効なJSONを返すので、私たちのクリスタルボールを見てなぜ推測するのですか?まず、サーバーの応答方法を見て、[MVCE](https://stackoverflow.com/help/mcve)を構築します。 – max
あなたの答えが信じられない、または私が問題を見ていたのは私だけだったので、質問を再整理する必要があります – Raxor
私はあなたがJSONを返す必要はないと思っています。あなたは 'head:ok'だけ使うことができます。失敗した応答については、422の処理不能なエンティティ 'render json:{errors:@ post.errors.full_messages}、status :: unprocessable_entity'を返すべきです。これは、emberで使用されているアダプタに依存します。しかし、あなたのアプリケーションが正しいHTTPレスポンスコードを返すことを本当にお勧めします。 – max