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…

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.

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 Jones

It works!Thanks a lot...