2016-11-25 5 views
0

Rails 4. Sqlite3 DB(開発用)。Rails 4の結合レコードの順序を制御する方法

私のモデルは次のようになります。

class Group < ActiveRecord::Base 
    has_many :memberships 
    has_many :people, through: :memberships 
    has_many :notes, as: :notable 

    scope :with_active_members, -> { joins(people: [:role]).where(people: {active: true}).uniq } 

end 

そして、私はこのようにそれを使用します。

@groups = Group.with_active_members.order("groups.position") 

ザ・は完全によく作品に参加。しかし、私は人々の記録をアルファベット順に並べ替えたい。非常に明確になるために、私はを持っていませんは、関連する人々によってグループを発注したいと思います。グループをpositionフィールドで注文したいのですが、関連するコレクションをアルファベット順に並べ替えたいと思います。 ORMでこれを行うことはできますか?

答えて

0

あなたがモデルでこれを行うことができます表示されます。

has_many :people, ->{ order('first_name') }, through: :memberships 

これは、いくつかの状況で動作しますが、私が本当に必要なことは、この中に設定する方法ですので、私は答えとして、それを受け入れていませんよコントローラは、その順序を動的に制御することができる。

関連する問題