我想从凤凰城的ecto协会生成
JSON.
这是我的协会:
defmodule Blog.Post do use Ecto.Model schema "posts" do field :title,:string field :body,:string has_many :comments,Blog.Comment end end
和:
defmodule Blog.Comment do use Ecto.Model schema "comments" do field :content,:string belongs_to :post,Blog.Post end end
当我生成没有关联的json时,结果如下:
[%Blog.Post{body: "this is the very first post ever!",id: 1,title: "first post"},%Blog.Post{body: "Hello nimrod!!!!",id: 12,title: "hi Nimrod"},%Blog.Post{body: "editing the body!!!!",id: 6,title: "hello(edit)"}]
而json看起来像这样
{"posts": [ { "title": "first post","id": 1,"body": "this is the very first post ever!" },{ "title": "hi Nimrod","id": 12,"body": "Hello nimrod!!!!" },{ "title": "hello(edit)","id": 6,"body": "editing the body!!!!" } ]}
但结果就是结果
[%Blog.Post{body: "this is the very first post ever!",comments: {Ecto.Associations.HasMany.Proxy,#Ecto.Associations.HasMany<[name: :comments,target: Blog.Post,associated: Blog.Comment,references: :id,foreign_key: :post_id]>},title: "hello(edit)"}]
使用上面的输出我无法创建适当的json输出.我想让json看起来像这样
{"posts": [ { "title": "the title","body": "the body","comments": [{"content": "a comment"},{"content": "another comment"}] } ... ]}
任何帮助,将不胜感激.