Interaktiv ajax-tabell i rails

http://dev.nozav.org/rails_ajax_table.html

1 reply on “Interaktiv ajax-tabell i rails”

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.