Hi Colin, thank you for your answer.
I just realized that my problem is bigger than that. I removed the 
default_scope and my query now is "orderbyless".

SELECT "patterns".* FROM "patterns" INNER JOIN "patterns_patterns" ON 
"patterns"."id" = "patterns_patterns"."child_id" WHERE 
"patterns_patterns"."parent_id" = ?  [["parent_id", 7]]

Why the order is been ignored?

class Pattern < ActiveRecord::Base

  has_and_belongs_to_many :children,

    :class_name => 'Pattern', 

    :join_table => 'patterns_patterns',

    :association_foreign_key => 'child_id',

    :foreign_key => 'parent_id',

    :order => 'patterns_patterns.updated_at'

end

Quinta-feira, 15 de Maio de 2014 5:34:26 UTC-3, Colin Law escreveu:
>
> On 14 May 2014 19:13, Henrique Vilela <[email protected] <javascript:>> 
> wrote: 
> > I'm trying to set a specific order to an association, but I keep getting 
> the 
> > default scope order definition. 
> > 
> > What am I missing? 
>
> I tend to avoid default_scope for exactly this reason, the results are 
> not always obvious.  I prefer to use named scopes or specify the order 
> explicitly.  Then you have better control of what is going on.  Many 
> believe default scopes are evil.  I believe you can override it using 
> reorder. 
>
> Colin 
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/64e5ff1a-04b7-4b89-bc31-e279ef0cd5a1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to