Ruby on rails Jqgrid和属于关系
是否可以在单个jqgrid中显示Ruby on rails Jqgrid和属于关系,ruby-on-rails,jqgrid,Ruby On Rails,Jqgrid,是否可以在单个jqgrid中显示所属关系 例如: person_id|vehicle_type 1 | honda person_name|vehicle_type Tom | honda 车辆属于个人 我可以显示车辆jqgrid,列出人员id,但我想显示人员的姓名,而不是他们的id 例如: person_id|vehicle_type 1 | honda person_name|vehicle_type Tom
所属关系
例如:
person_id|vehicle_type
1 | honda
person_name|vehicle_type
Tom | honda
车辆
属于个人
我可以显示车辆
jqgrid,列出人员id,但我想显示人员
的姓名,而不是他们的id
例如:
person_id|vehicle_type
1 | honda
person_name|vehicle_type
Tom | honda
编辑(车辆控制器代码):
class VehiclesController < ApplicationController
def index
@vehicles = Vehicle.find(:all) {
if params[:page].present? then
paginate :page => params[:page], :per_page => params[:rows]
order_by "#{params[:sidx]} #{params[:sord]}"
end
}
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @vehicles }
format.json { render :json => @vehicles }
format.jgrid {
render :json => @vehicles.to_jqgrid_json(
[:person_id, :vehicle_type],
params[:page],
params[:rows],
@vehicles.total_entries
)
}
end
end
end
class Vehicles Controllerparams[:page],:per_page=>params[:rows]
按“#{params[:sidx]}#{params[:sord]}”排序
结束
}
回应待办事项|格式|
format.html#index.html.erb
format.xml{render:xml=>@vehicles}
format.json{render:json=>@vehicles}
format.jgrid{
render:json=>@vehicles.to_jqgrid_json(
[:人员id,:车辆类型],
参数[:页],
参数[:行],
@车辆总数
)
}
结束
结束
结束
您需要在服务器端表达这种关系,例如通过将表连接在一起(尽管在Rails中有更优雅的方法来实现这一点):
然后确保在jqgrid的colmodel中包含人名
。我在不修改查询的情况下找到了解决方案。在属性中,使用“person.name”将使用属于车辆的人名
render :json => @vehicles.to_jqgrid_json(
["person.name", :vehicle_type],
params[:page],
params[:rows],
@vehicles.total_entries
)
这个问题是纯RubyonRails问题。如果您只使用SQL,那么解决方案将是在Person
表中包含一个额外的连接。没有jqGrid的知识,请帮我给你一个更好的建议。