Используя 2dc_jqgrid, как я могу отобразить настроенные данные? - PullRequest
0 голосов
/ 30 августа 2010

Я использую jqgrid с Ruby on Rails, используя плагин 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

При этой настройке по умолчанию идентификатор производителя будет отображаться в результирующей таблице (например, 12).Я хочу отобразить имя издателя.Книга принадлежит издателю, поэтому я бы хотел указать book.publisher.name.Я не уверен, как или где я могу сделать это с 2dc_jqgrid.

Есть предложения?Спасибо.

1 Ответ

0 голосов
/ 25 января 2011

Это работает с рельсами 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...