JSON JBuilderの使用方法


このポストはJSON JBuilderについて学んだことにログインするだけの試みであり、チュートリアルではありません.しかし、私はこれがRailsを学び始めた人々を助けるということを知っています.
OK、それから始めましょう!
JBuilderはまずJSONレスポンスをレンダリングするためのテンプレートです.RailsはJSON構造を作成するのに役立つJBuilder Gemでプリロードされます.その使用例Scenerioを見ることができます
たとえば、我々は、記事や記事を作成するユーザーの多くを持っているブログのアプリを作っている.ユーザーモデルと記事モデルの2つのモデルがあります.ユーザモデルは多くの記事を持ち,記事モデルはユーザに属する.記事のモデルでは、ユーザーID(基本的に記事の著者)を介してユーザーモデルへの参照があります.ここで著者の情報を含む各記事の詳細について記事の一覧を表示する必要があるとします.記事コントローラでは、次のアクションがあります.
def index
  @articles = Article.all
end
ここで@記事はすべての記事を含んでいる配列です、そして、各々の記事は記事テーブルのその特定の行に対応する情報を持ちます.また、著者の情報が必要ですが、私たちは記事のテーブルの著者IDのみです.これはJBuiderが流入する場合です.
デフォルトでは、Railsは要求された形式のテンプレートを探します.JSONクエリへの応答をレンダリングするには、テンプレートが必要になります.私たちはインデックスと呼ばれるテンプレートを作ります.JSONビュー/API/V 1/ariclesディレクトリのJBuilder.このファイルには、記事モデル(EG : User)の入れ子になった属性を設定するためのロジックが含まれます.ここでは、ディレクトリの名前空間を持っています.なぜなら、私たちのAPIの明確なseperationを持つほうが良いと思います.
インデックスで.JSON次の行を追加します.
json.articles @articles do |article|
  json.partial "article", obj: article
end
上の行では、記事と呼ばれるJSONのキーを定義しています.そして、記事のコントローラーで作った配列@記事を取っています.そして、配列の各記事を繰り返して、記事の詳細を含むオブジェクト“obj”で部分を描画します.部分的なレンダリングはJBuilderを使用するプラスポイントの一つです.
現在のところ、私たちは部分を持っていないので、同じディレクトリI/E View/API/V 1/記事の中で1つと名前を「Charles . Json . JBuilder」とすることができます.では、以下の行を部分的に追加します.
json.id obj.id
json.title obj.title
json.author do 
  json.user_id obj.user.id
  json.name obj.user.name
end
上で起こっていることはJSONファイルがJSONファイルを構築していることです.ID , JSONJSON作者はキーです.ここでは、ID以外のユーザーの詳細を取得することができます.
もう一つの方法があります
json.(obj, :id, :title) 
json.(obj.user, :id, :name) 

しかし、私は最初の方がより役に立つとわかります.
私はこの記事が役に立ちました、そして、私が誤って説明した何かがあるならば、あるいは、異なるapprachがあるならば、あるいは、私が何かを逃したならば、私に知らせてください.どうも!