我有拖車模式,電影模式。當創建一個電影,我期待所有可用的預告片,並把他們中的每一個與YouTube的鏈接,並且已添加電影的movie_id記錄。連接兩個模型通過ID
def index
trailer = Trailer.all
respond_to do |format|
format.json do
render :json => trailer.to_json(:only => [:id, :movie_id, :link])
end
end
end
並且json輸出,
[
{
"id":1,
"movie_id":"312221",
"link":"LsjX5dqHLuw"
},
{
"id":2,
"movie_id":"209112",
"link":"nIGtF3J5kn8"
},
{
"id":3,
"movie_id":"209112",
"link":"yViIi3gie2c"
},
{
"id":4,
"movie_id":"209112",
"link":"Onh7NbZ7F8o"
},
{
"id":5,
"movie_id":"290250",
"link":"1Vb32Kokbtg"
},
{
"id":6,
"movie_id":"290250",
"link":"1Vb32Kokbtg"
},
{
"id":7,
"movie_id":"27205",
"link":"8hP9D6kZseM"
},
{
"id":8,
"movie_id":"157336",
"link":"ePbKGoIGAXY"
},
{
"id":9,
"movie_id":"157336",
"link":"KlyknsTJk0w"
},
{
"id":10,
"movie_id":"157336",
"link":"nyc6RJEEe0U"
},
{
"id":11,
"movie_id":"157336",
"link":"Lm8p5rlrSkY"
},
{
"id":12,
"movie_id":"157336",
"link":"zSWdZVtXT7E"
}
]
然後,我有我的電影控制器,
def index
@movie = Movie.all
respond_to do |format|
format.json do
render :json => @movie.to_json(include: :trailers)
end
end
end
的json的輸出,
[
{
"id":1,
"title":"Creed",
"release_date":"2016-01-21",
"image":"/xSE4NBFDzqedwa4AIj99r1Z7ljF.jpg",
"user_id":null,
"created_at":"2016-01-07T20:19:43.849Z",
"updated_at":"2016-01-07T20:19:43.849Z",
"movie_id":"312221",
"backdrop":"/nF4kmc4gDRQU4OJiJgk6sZtbJbl.jpg",
"crew":null,
"cast":null,
"trailers":[
]
},
{
"id":2,
"title":"Batman v Superman: Dawn of Justice",
"release_date":"2016-03-24",
"image":"/eJrlh2g9UGAd7R6mQAOQIIs329H.jpg",
"user_id":null,
"created_at":"2016-01-07T20:21:02.615Z",
"updated_at":"2016-01-07T20:21:02.615Z",
"movie_id":"209112",
"backdrop":"/15PbZtjRJ4zgQA8XS0otL70piQi.jpg",
"crew":null,
"cast":null,
"trailers":[
]
},
{
"id":3,
"title":"The Nice Guys",
"release_date":"2016-05-26",
"image":"/ecD35nDfjsxvDW5BtmK6YAaIkzF.jpg",
"user_id":null,
"created_at":"2016-01-07T20:22:05.960Z",
"updated_at":"2016-01-07T20:22:05.960Z",
"movie_id":"290250",
"backdrop":"/aEMBBMuK3BhKIuFu7iFSTXC41Bi.jpg",
"crew":null,
"cast":null,
"trailers":[
]
},
{
"id":4,
"title":"Inception",
"release_date":"2010-07-22",
"image":"/qmDpIHrmpJINaRKAfWQfftjCdyi.jpg",
"user_id":null,
"created_at":"2016-01-08T09:22:30.383Z",
"updated_at":"2016-01-08T09:22:30.383Z",
"movie_id":"27205",
"backdrop":"/s2bT29y0ngXxxu2IA8AOzzXTRhd.jpg",
"crew":null,
"cast":null,
"trailers":[
]
},
{
"id":5,
"title":"Interstellar",
"release_date":"2014-11-06",
"image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg",
"user_id":null,
"created_at":"2016-01-08T09:22:39.120Z",
"updated_at":"2016-01-08T09:22:39.120Z",
"movie_id":"157336",
"backdrop":"/xu9zaAevzQ5nnrsXN6JcahLnG4i.jpg",
"crew":null,
"cast":null,
"trailers":[
]
}
]
有沒有一種方式,我可以查找所有有sa的拖車我movie_id值作爲一部電影,並將其包括到json渲染?
的disered結果會是這樣的事情,
{
"id":5,
"title":"Interstellar",
"release_date":"2014-11-06",
"image":"/nBNZadXqJSdt05SHLqgT0HuC5Gm.jpg",
"user_id":null,
"created_at":"2016-01-08T09:22:39.120Z",
"updated_at":"2016-01-08T09:22:39.120Z",
"movie_id":"157336",
"backdrop":"/xu9zaAevzQ5nnrsXN6JcahLnG4i.jpg",
"crew":null,
"cast":null,
"trailers":[
{
"id":8,
"movie_id":"157336",
"link":"ePbKGoIGAXY"
},
{
"id":9,
"movie_id":"157336",
"link":"KlyknsTJk0w"
},
{
"id":10,
"movie_id":"157336",
"link":"nyc6RJEEe0U"
},
{
"id":11,
"movie_id":"157336",
"link":"Lm8p5rlrSkY"
},
{
"id":12,
"movie_id":"157336",
"link":"zSWdZVtXT7E"
}
]
}
我想我會加入到我的電影控制器索引定義吧?但我不明白這是如何將預告片添加到我的json響應中的。 –