Named_scope and its :order function

Could someone help me to solve my problem?I’m using named_scope,and
there
seems to be a little problem…
Can I sort a model by another model’s column?For example,I have a
“users”
table,it has a “value” column.And in the user.rb:
has_many :articles

in the article.rb:
belongs_to :user
named_scope :by_user_value,:order => “…”

What I want to know is,how can I finish the :order=>"…" parameters to
sort the articles by there user’s “value”?Can somebody help me with
that?Thanks a lot…

On Jul 13, 4:01 am, 刘子嘉 [email protected] wrote:

Could someone help me to solve my problem?I’m using named_scope,and there
seems to be a little problem…
Can I sort a model by another model’s column?For example,I have a “users”
table,it has a “value” column.And in the user.rb:
has_many :articles

You need to joins the users table if you want to order by a column on
it.

Fred

Thanks very much.
Could you give me some more advice how can I do this?I still don’t
know how to join the two tables…thanks again.

It works!Thanks a lot…

Try this:

named_scope :by_user_value, :include => :user, :order => ‘users.value’

If you’re not accessing the user association, you could also
use :joins instead of :include, but I’m guessing you’ll need to load
those records anyways.

–Matt J.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs