問題タブ [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.
ruby-on-rails - 最新の Active_Model_Serializers が Devise ビューを壊す
クライアントの 1 人が使用している Rails アプリを更新しています。
簡単に言うと、認証には Devise を、API でのデータのシリアル化には Active Model Serializers に依存しています。
現在のバージョンは、かなり古いバージョンの Active Model Serializers のフォークを使用しています。Active Model Serializers の最新バージョンでいくつかの機能が必要だったので、gem を変更してmasterを参照するようにしました。便利なことに、フォークの変更は AMS の最新バージョンに追加されているので、構文を変更したところ、すべて問題ないように見えました。
しかし、サイトからログアウトして再度ログインすると、何かが非常に壊れていることに気付きました。予想どおり、ログアウトしたユーザーは /users/sign_in にリダイレクトされます。ただし、gem の更新以降、そのページは真っ白になりました。ヘッダーも HTML も何もありません。ただ白い。それが問題であることを確認するために古いバージョンの gem に戻したところ、/users/sign_in ページは素晴らしく機能しました。
Rails のデバッグ出力を確認すると、次のように表示されます。
私のビューが突然空白になる理由について、誰かがヒントを得ましたか?
追加情報
これが関係しているかどうかはわかりませんが、これもまた興味深いものです。/users/sign_in ページを cURL してみましたが、cURL で JSON 応答が返ってきました。
これは、通常のブラウザでは実現しません。
__
私のルートには、Devise を /users にマップし、登録コントローラーをオーバーライドする次の行があります。
登録コントローラーは次のようになります。
ember.js - マルチレベル hasMany サイドローディング
私はActiveModel::Serializers
JSON を Ember.js アプリケーションに出力するために使用します。サイドローディングを使用して、パフォーマンスを最大化します。
でActiveModel::Serializers
すべてサイドロードするように指示できますか?PhoneNumbers
SwitchboardSerializer
switchboard_serializer.rb
sip_account_serializer.rb
ruby-on-rails - 現在のスコープのシリアル化をサイドロードするにはどうすればよいですか?
現在のスコープのシリアル化を json 応答に追加したいと思います。現在のスコープは で使用できますが、ActiveModel:: Serializer
シリアル化されるモデルに必ずしも関連付けられているとは限りません。そのため、どのように含めるかわかりません。
私の最初の本能は、モデルのシリアル化とスコープのシリアル化をマージするラッパーを作成することです。ただし、このラッパーはいくつかの慣習を破ると思います。
このコンテキストをサイドローディングするパターンはありますか?