两个模型:类型和电影。电影类型众多,电影属于电影类型。
create_table "genres", force: :cascade do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "movies", force: :cascade do |t|
t.string "title"
t.integer "genre_id"
t.datetime "created_at"
t.datetime "updated_at"
end
我想返回(以JSON格式)所有电影(标题)的列表,并带有类型(名称和该类型的电影编号),但是我想使用Movie模型创建查询(Movie.some_query) ,而不是Genre.some_query)。我做了类似的事情:
Movie.select(:id,:title).joins(:genre).select('name as genre_name')
这给了我这样的格式: [{“ id”:1,“ title”:“泰坦尼克号”,“ genre_name”:“恐怖”}
我想添加流派电影的数量作为最后的记录。当我尝试使用.count或.length方法时,控制台返回错误。
控制器:
module Api
module V1
class MoviesController < ApplicationController
respond_to :json
def index
respond_with Movie.select(:id, :title).joins(:genre).select('name as genre_name')
end
end
end
end