Jqgrid и отношение принадлежат - PullRequest
1 голос
/ 18 октября 2010

Можно ли отобразить отношение belongs_to в одной jqgrid?

Пример:

Vehicle принадлежит Person

Я могу отобразить Vehicle jqgrid, перечисляющий person_id, но я бы хотел отобразить имя Person вместо их идентификатора.

Пример:

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

Ответы [ 2 ]

2 голосов
/ 25 октября 2010

Я нашел решение без изменения запроса. В атрибутах при использовании «person.name» будет использоваться имя человека, принадлежащее автомобилю.

render :json => @vehicles.to_jqgrid_json(
          ["person.name", :vehicle_type],
          params[:page],
          params[:rows],
          @vehicles.total_entries
        )
0 голосов
/ 18 октября 2010

Вы должны выразить эту связь на стороне сервера, например, путем объединения таблиц (хотя в IIRC есть более элегантные способы сделать это в Rails):

    SELECT p.person_name, v.vehicle_type
      FROM vehicle v
INNER JOIN person p ON p.person_id = v.person_id

Тогда просто убедитесь, что вы включилиperson_name в вашей колмодели jqgrid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...