Ruby 呈现JSON多模型+;映射函数
我使用jquery自动完成类别,搜索两种模型:用户和标记。 在控制器中,是否可以在一个json呈现调用中执行此操作?当我只查询其中一个时,它就可以工作了,但我想同时查询这两个。谢谢 我当前的代码:Ruby 呈现JSON多模型+;映射函数,ruby,json,hash,jquery-autocomplete,Ruby,Json,Hash,Jquery Autocomplete,我使用jquery自动完成类别,搜索两种模型:用户和标记。 在控制器中,是否可以在一个json呈现调用中执行此操作?当我只查询其中一个时,它就可以工作了,但我想同时查询这两个。谢谢 我当前的代码: def search @users = User.order(:name).where("lower(name) LIKE ?", "%#{params[:term].downcase}%") @tags = Tag.order(:name).where("lower(name) LIKE ?
def search
@users = User.order(:name).where("lower(name) LIKE ?", "%#{params[:term].downcase}%")
@tags = Tag.order(:name).where("lower(name) LIKE ?", "%#{params[:term].downcase}%")
respond_to do |format|
format.json {
render json: {
@tags.map { |tag| {:label => tag.name, :value => tag.name, :category => "Tags" } },
@users.map { |user| {:label => user.name, :value => user.username, :category => "Users" } }
}
}
end
end
我不确定您是如何进行自动完成设置的,但您需要从呈现正确的json开始
respond_to do |format|
format.json {
render json: {
tags: @tags.map { |tag| {label: tag.name, value: tag.name, category: "Tags" } },
users: @users.map { |user| {label: user.name, value: user.username, category: "Users" } }
}
}
end
如果你建立了很多JSON响应,考虑使用它来处理对你的转换。