One thought on “Interaktiv ajax-tabell i rails”

  1. Noen små kommentarer:
    Hvis du har satt controlleren din til å defaulte til list-view vil du få et problem med DoubleRenderError.
    Dette kan du fikse ved å innkapsle render-kallet som følger:

    def index
    list
    if not request.xml_http_request?
    render :action => 'list'
    end
    end

    En annen stygg liten sak med denne løsningen er case/when for å sette sort-parameteret:

    sort = case @params['sort']
    when "name" then "name"
    when "qty" then "quantity"
    when "price" then "price"
    when "name_reverse" then "name DESC"
    when "qty_reverse" then "quantity DESC"
    when "price_reverse" then "price DESC"
    end

    Dette kan du enkelt refaktorere ut til ApplicationController som følger (det finnes sikkert en mer elegant måte å gjøre det på:

    def sortby(text)
    if text == nil
    return text
    end
    arr = text.split('_')
    reverse = ''
    if arr.size > 1
    if arr.last == 'reverse'
    reverse = ' DESC'
    arr.pop
    end
    text = arr.join('_')
    end
    return text + reverse
    end

    Dermed fjerner du applikasjonsspesifikk informasjon fra kontrolleren din og kan i stedet gjøre følgende kall:

    sort = sortby(params['sort'])

Leave a Reply