我正在使用带有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做到这一点。
有什么建议吗?谢谢。
答案 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