我发布了以下JSON的帖子:
{
"comments":[
{
"created_at":"2015-09-07T23:04:46.000Z",
"id":2,
"post_id":32,
"text":"sdfsdfdsf",
"updated_at":"2015-09-07T23:04:46.000Z",
"user_id":13
}
],
"id":32,
"text":"xxxx",
"user":{
"college_id":1,
"created_at":"2015-09-06T21:37:06.000Z",
"email":"mhewedy@hotmail.com",
"gender":"m",
"id":14,
"name":"mhewedy",
"password_digest":"$2a$10$shb6XUFtYnm0ctCPMEb88eDyXmw/jnhDMN65GVPr9Z19DalfOGJzC",
"university_id":4,
"updated_at":"2015-09-07T18:42:10.000Z",
"user_type":"student",
"username":"mhewedy5"
}
}
Post
属于User
且Post
有多个comments
,其中每条评论属于User
(直接)。
我想在User
下显示comments
对象,并隐藏password_digest
和User
的{{1}}个对象中的Post
字段}。
我正在使用以下jbuilder文件:
Comment
P.S。我找不到足够的jbuilder在线资源。
答案 0 :(得分:1)
您可以使用another syntax来构建嵌套的JSON:
yourJSON = Jbuilder.new do |j|
j.id @post.id
j.text @post.text
#(... other @post attributes ...)
j.user do
j.id @post.user.id
j.email @post.user.email
#(... other @post.user attributes ...)
end
j.comments @post.comments.each do |aComment|
j.id aComment.id
j.text aComment.text
#(... other Comment attributes ...)
end
end
render json: yourJSON.target!
这将生成以下JSON:
{
id:1,
text:"Post text",
//(...)
user: {
id: 30,
email: "user@email.com",
//(...)
},
comments[
{
id:2002
text:"this is the comment text",
//(...)
},
{
id:2003
text:"this is the comment text",
//(...)
},
//(... other comments here ...)
]
}
答案 1 :(得分:1)
在RailsCasts的帮助下修复:https://github.com/railscasts/320-jbuilder/blob/master/blog-after/app/views/articles/show.json.jbuilder
在此处观看有关RailsCasts的视频:http://railscasts.com/episodes/320-jbuilder
DECLARE @tbl TABLE (val float)
INSERT INTO @tbl SELECT 1234.567
INSERT INTO @tbl SELECT 1234.5678
INSERT INTO @tbl SELECT -1234.5678
INSERT INTO @tbl SELECT 1234.56789
SELECT *
from @tbl
where (((abs(val)*10000) - CONVERT(INT,(abs(val)*10000))) <> 0)