使用2 dc jqgrid,如何显示自定义数据?

时间:2010-08-30 04:24:49

标签: ruby-on-rails jqgrid

我正在使用带有Ruby on Rails的jqgrid使用2dc_jqgrid插件 - 2dc_jqgrid details)。

默认情况下,插件似乎直接从模型中的字段获取信息,并将其显示在结果表中。例如:

books = Book.find(:all) do
  if params[:_search] == "true"

    id =~ "%#{params[:id]}%" if params[:id].present?

    model =~ "%#{params[:name]}%" if params[:model].present?

    manufacturer =~ "%#{params[:publisher]}%" if params[:publisher].present?

  end
  paginate :page => params[:page], :per_page => params[:rows]      
  order_by "#{params[:sidx]} #{params[:sord]}"
end
if request.xhr?
  render :json => books.to_jqgrid_json([:id,:name,:publisher], params[:page], params[:rows], camera_grids.total_entries) and return
end

使用此默认设置,制造商的ID将显示在结果表中(例如,12)。我想显示出版商的名字。一本书属于一个出版商,所以我想指定book.publisher.name。我不知道如何或在哪里可以用2dc_jqgrid做到这一点。

有什么建议吗?谢谢。

1 个答案:

答案 0 :(得分:0)

这适用于rails 3.这里有一个例子:

  def index

    index_columns ||= [:act, :id, :username, :firstname, :lastname, 'language.name', :disable]
    current_page = params[:page] ? params[:page].to_i : 1
    rows_per_page = params[:rows] ? params[:rows].to_i : 10

    conditions={:page => current_page, :per_page => rows_per_page}
    conditions[:order] = params["sidx"] + " " + params["sord"] unless (params[:sidx].blank? || params[:sord].blank?)

    if params[:_search] == "true"
      conditions[:conditions] = filter_by_conditions(index_columns)
    end

    @accounts = Account.paginate(conditions)

    respond_to do |format|
      format.html # index.html.erb
      format.json { render :json => @accounts.to_jqgrid_json(index_columns, current_page, rows_per_page, @accounts.count) }
    end
  end