martedì 17 giugno 2008

acts_as_nested_set e order by

In una mia applicazione stò utilizzando un nested set salvato su una tabella grazie al plugin 'better nested set'.

Non capisco perchè l'ordinamento dei nodi figli, che ho correttamente specificato dev'essere calcolato su un campo, non viene preso in considerazione.

Nel mio modello ho:
class NestedSurveyElement < ActiveRecord::Base

acts_as_nested_set :order => 'orderby ASC', :dependent => :delete_all, :scope => :survey_id

#........

end

Per ovviare temporanemente al problema, riordino l'array restituito dal metodo children() di acts_as_nested_set in questo modo:
children = root_element.children.sort_by{|c| c.order_field}

Purtroppo in questo modo aggiungo tempo di calcolo non necessario (anche se un ordinamento nel mio caso è piuttosto trascurabile ) al mio processo... ma per ora funziona...

Nessun commento:

Posta un commento