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.