問題タブ [grape-entity]

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 に答える
749 参照

ruby-on-rails - grape-entity および has_many には明示的なエンティティが必要です

grapeRails 4.2.1 プロジェクトでandを使用grape-entityしていますが、正しいモデルを使用してプレゼンテーションを行うと奇妙なエラーが発生します。

documentationによると、各モデル内でエンティティを整理すると、次のようになります。

Grape は Entity クラスを自動的に検出し、それを使用してモデルを提示します。

さらに、ドキュメントには次のようにも書かれています。

デフォルトでは、コレクションのすべてのオブジェクトが Entity クラスのインスタンスにラップされます。

ここに私が今持っているコードがあります。

そうしないexpose :addresses, with: Address:Entityと機能せず、アドレスのすべてのフィールドが公開されます。正しいエンティティを自動的に検出しない理由はありますか?

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

ruby - ルビーグレープポストメソッドは、複数の行を挿入します

Ruby Grape を使用して DB に複数の行を投稿する方法。たとえば、CURL でテストする場合、これは正常に機能しています

しかし、これは機能していません

これは私のブドウのAPIコードです

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

ruby-on-rails - ブドウ: 余分なルート要素を削除する方法グレープエンティティでコレクションを公開するときのXML応答から?

グレープ (0.14.0) とグレープ エンティティ (0.5.0) を使用して、Rails (4.2.5) アプリ内で XML API を作成しています。Grape::Entity クラス内で明示的なルート要素を指定すると、XML 応答が不要なルート要素にラップされます<hash>。どうすればそれを取り除くことができますか?

サンプルコード

結果

PartnerEntity にルートがない結果

ルート要素に明示的に名前を付ける必要があるため、ルートなしではできません。

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

ruby-on-rails - 無効な定数 API :: グレープおよびグレープ エンティティを使用

を使用しようとしていますgrape-entityが、エンティティ クラスの名前空間に問題がありますが、その理由がわかりません。

私はこのグレープエンティティクラスを持っています:

そしてぶどうクラス:

電話するcurl http://localhost:3000/api/v1/vehicules?user_id=123と、レールサーバーに次のメッセージがあります:

どんな助けでも素晴らしいでしょう。

0 投票する
0 に答える
148 参照

ruby-on-rails - Grape Entityを使用したRails LEFT OUTER JOIN Indexリクエスト

私は現在、API (DB の Postgresql) に Rails と一緒に Grape API を使用しています。私はフルスタック開発者としてフルタイムで働いているジュニア開発者なので、この質問を説明する経験が不足していることをお詫びします。

現在、「スタッフ」とそれに対応する「住所」のレポートを生成しようとしています。これで、各スタッフ メンバーは多くのアドレスを持つことができます。

したがって、私がやりたいことは、対応するアドレスを持つ複数のスタッフを取得する 1 つの要求を作成することです。アドレスを持たないスタッフを取得したいので、LEFT OUTER JOIN が必要です。問題は、この結合に条件が必要なことです。たとえば、GET 要求でアドレスの「ID」を送信して、ALL STAFF で応答し、要求したアドレスのみを返す必要がある場合があります。また、特定の日付にアクティブだったスタッフとアドレスのみを返すなど、アドレスとスタッフ用の他のフィルターもあります。

これを行う方法がよくわかりません。私が行っていることはすべてうまくいかないようです。これは、Grape API または一般的なレールの仕組みに関係していると思います。LEFT OUTER JOIN を試しても、正しいレコードが得られません。これは、Grape エンティティで公開時に has_many アソシエーションで奇妙なことを行っているためだと思います。

とにかく、これを十分に説明したいと思います。もっと良いアプローチがあれば教えてください。おそらく、必要なすべてのスタッフと住所を取得するために、複数の個別のリクエストでそれを行う方が良い方法です。

アップデート

コーディング例を提供できなくて申し訳ありません。問題の解決策を思いつくことができましたが、それが良いアプローチかどうかはわかりません。

report_addresses メソッドのコードが乱雑で申し訳ありません。仕事に戻ったら整理しようと思います。したがって、基本的には、代わりに多くの条件付きデータベース クエリを Grape エンティティに移動しました (Grape エンティティはネストされたデータを取得するためにクエリ自体を作成するため、それがその方法だと思いますか?)。私のアプローチに関するアドバイスをいただければ幸いです:)

スタッフエンティティで応答するブドウ API は次のとおりです。

多くのオプションを渡すことができるように、GET リクエストをできるだけ柔軟にしようとしました。しかし、これが良い RESTFUL アプローチであるかどうかはわかりません。個別の API 呼び出しでネストされたデータを取得するのではなく、1 つの要求でこれを行うことが良い解決策であると考えました。

0 投票する
0 に答える
158 参照

inheritance - ぶどうエンティティと単一テーブルの継承

基本クラス "Attachment < ActiveRecord::Base" と 2 つの子クラス "Attachment::Video < Attachment"、"Attachment::Image < Attachment" があるとします。

しかし、サブクラスごとに異なるエンティティを使用したいと考えています。Attachment::Video は API::Entities::AttachmentEntity::Video などで存在する必要があります

ぶどうでも可能ですか?

0 投票する
0 に答える
356 参照

rails-activerecord - 同じモデルを 2 回参照するときにネストされたエクスポージャーを使用する方法は?

User モデルを 2 回参照する Contact モデルのグレープ エンティティがあります。

連絡先を提示するエンドポイントを取得すると、次のエラーが発生します

連絡先エンティティに招待者と招待者の両方のユーザー エンティティを含めるにはどうすればよいですか?