jbuilderでjsonのテンプレの作り方で悩んでいます。
Userと関連づけしたPostの情報をjsonで出すためにはどのようにjsonのテンプレートを書けばいいでしょうか。
理想として
GET ~/api/v1/users/allで
id
user_name
user_account
user_img
user.post.id
user.post.post_image
をjsonで出力したいと思っています。
よろしくお願いします。
DB
User
id:integer
provider:string
user_name:string
user_account:
user_img:
has_many :posts
Post
id: integer
user_id: integer
post_image: string
text: string
belongs_to :user
api.rb
module Cospic
class API < Grape::API
format :json
formatter :json, Grape::Formatter::Jbuilder
# APIアクセスに接頭辞を付加
# ex) http://localhost:3000/api
prefix "api"
# APIアクセスにバージョン情報を付加
# ex) http://localhost:3000/api/v1
version 'v1', :using => :path
resource "users" do
# GET http://localhost:3000/api/v1/users/all
desc "ユーザー一覧"
get :all, jbuilder:'users' do
@users = User.all
end
app/view/api/user.jbuilder
json.articles @users do |user|
json.(user, id, :user_name, :user_account, :user_img, :user.post.id, :user.post.post_image )
end