問題タブ [active-model-serializers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
323 参照

ruby-on-rails - Active Model Serializers は JSONP で動作しますか?

そうでない場合、AJAX リクエストで JSONP に準拠するようにするにはどうすればよいですか?

編集:私が達成したいことがはっきりしていないようです。たとえば、id、作成者、タグ、コンテンツなどの属性を含む Post クラスがあるとします。次の ActiveModel::Serializer は、JSON 応答のコーディングに使用するものです。

今コントローラーで、私は次のようなことをしたでしょう

このような JSON ファイルを生成するには

ここでの私の目的は、JSONP を使用することです。これにより、誰かがリクエストで jsoncallback パラメーターを渡すと (GET '/posts?jsoncallback=callback_function' など)、次を生成できるようになります。

現在、私は Post オブジェクトで to_json を使用し、結果を @posts_json という変数に格納し、次にコントローラーで Content-Type を text/javascript として指定し、次のような html.erb ファイルをレンダリングしています。

このソリューションが本当に醜いことに同意していただけると思います。問題は、コントローラーで使用している to_json メソッドが原因で問題が発生し始めていることです。

そのため、ActiveModel::Serializer を使用して同じ機能を取得したいと考えています。どうすればそれを行うことができますか?

0 投票する
1 に答える
585 参照

ember.js - async hasMany 関係のシリアライズ

私は EmberJS にかなり慣れていないので、私が取り組んでいる新しいアプリでいくつかの hasMany および多対多の関係を維持しようとして、夜のほとんどをいじっていました。

Ember Data を使用して、使用ActiveModelAdapterしている Rails バックエンドに接続していますActiveModelSerializers

私が使用している Ember と Ember Data の次のバージョンを使用しています。

私が抱えている基本的な問題は、レコードを保存するときに、関連付け ID がサーバーに送り返されないことです。

ActiveModelSerializerのソースを調べたところ、hasMany のシリアル化がスキップされていることがわかりました

これまでのところ機能している次の基本的なソリューションを思いつきましたが、Ember の規則とベスト プラクティスに従うよりクリーンなソリューションがあるかどうか疑問に思っていました。

0 投票する
1 に答える
6934 参照

ruby-on-rails - Rails コンソールの active-model-serializer の JSON 出力を整形する

Railsコンソールでactive-model-serializer出力をテストしており、出力をきれいにする方法を探しています。これまでに見つけた唯一の解決策は次のとおりです。

それは回り道のように思えます。「より良い方法」はありますか?

0 投票する
2 に答える
2797 参照

ember.js - Ember.JS ActiveModelAdapter および Active Model Serializers のデフォルトの動作

シンプルなアクティブ モデル シリアライザーがあります。

カテゴリとユーザーのシリアライザーもあり、期待どおりに動作します。私はこのペイロードを取得します:

ただし、それらは ember にロードされないようです。

Ember インスペクタを確認すると、データがロードされていません。ActiveModelSerializer はどのような形式を期待していますか? アクティビティをロードしますが、カテゴリまたはユーザー属性はロードしません。

0 投票する
4 に答える
4148 参照

ruby-on-rails - アクティブなモデル シリアライザー、応答のレンダリングに使用されるシリアライザーのテスト

RailsコントローラーからのJSON応答をレンダリングするために、アクティブモデルシリアライザーを使用しています。

次のようなコントローラー アクションがあります。

Rspec コントローラーのテストで使用されたシリアライザーをテストできるようにしたいと考えています。テストからシリアライザーへの参照を取得することは可能ですか?

アップデート:

これはシリアライザの正しい使い方ではないと思います。シリアライザー自体に、条件付きで属性を含めるためのロジックが追加されました。コントローラーは、どのシリアライザーを使用するかを気にする必要はありません。

0 投票する
1 に答える
217 参照

ruby-on-rails - 割り当て前の ruby​​/rails 変数スコープ

アップデート:

みんなありがとう、これで行きました:

ここでこの res プロパティの割り当てを処理して、レンダリング呼び出しに使用できるようにするより良い方法はありますか? 全体として、このかなり臭い方法を改善する方法を考えているだけです.

0 投票する
1 に答える
383 参照

ruby-on-rails - 何も変更されていない場合でも、activeModel::dirty レコードが変更されます

ActiveModel::Dirty ライブラリを使用しています。次のコードがあります。

ユーザーがフォームで何かを変更すると、このメソッドはコントローラーの動作を変更します。問題は、フィールドの 1 つが日時であり、なんらかの理由で、日時が変更されたかどうかに関係なく、日時が毎回変更されると見なしていることです。

コンソールは、変更がないことを教えてくれます。上記の puts ステートメントがコンソールに表示する内容は次のとおりです。

私の基本的な質問は、previous_changes が毎回変更があると考える理由と、それを修正するにはどうすればよいかということです。

0 投票する
1 に答える
76 参照

activerecord - ActiveRecord includes から JSON 関連データをレンダリングする方法

インクルード クエリから JSON でグリッドをレンダリングするにはどうすればよいですか? 以下のコードは、フォルダーのみを出力します。

0 投票する
1 に答える
791 参照

ruby-on-rails - Rails シリアライザーが Mongoid 組み込みクラスで呼び出されない

Model私は 2 つのモンゴイド モデルを持っています。それらを と と呼びましょうModelChild。これは次の関係ですModel

そして、これは次の関係ですmodel_child:

問題は、それModelSerializerが呼び出されることですが、そうでModelChildSerializerはありません。私は何か間違ったことをしていますか、それともこれは設計によるものですか? 仕様によるものである場合、どうすれば呼び出すことができますかModelChildSerializer.

編集:

コントローラーのレンダリング呼び出し:

そしてコードでObjSerializer