2010-10-18 2 views
1

Можно ли отображать связь belongs_to в одном jqgrid?Jqgrid и принадлежит_от отношения

Пример:

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

я могу отобразить Vehicle jqgrid листинга на person_id, но я хотел бы отображать имя Person «s вместо их идентификатора.

Пример:

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 
+0

Этот вопрос ** чистый рубин-on-rails ** вопрос. Если вы будете использовать только SQL, решение будет включать дополнительный JOIN в таблицу «Person». Никакое знание jqGrid не помогает мне дать вам лучший совет. – Oleg

ответ

2

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

render :json => @vehicles.to_jqgrid_json(
      ["person.name", :vehicle_type], 
      params[:page], 
      params[:rows], 
      @vehicles.total_entries 
     ) 
0

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

Затем просто включите person_name в колмодель jqgrid.

Смежные вопросы