好的,所以創建了2個模型User和Following。用戶具有用戶名屬性並且以下具有2個用戶關聯屬性:user_id,following_user_id。我在各自的模型中建立了這些關聯,並且所有作品都很好。Rails ActiveRecord如何通過自定義命名關聯來訂購
class User < ActiveRecord::Base
has_many :followings, dependent: :destroy
has_many :followers, :class_name => 'Following', :foreign_key => 'following_user_id', dependent: :destroy
end
class Following < ActiveRecord::Base
belongs_to :user
belongs_to :following_user, :class_name => 'User', :foreign_key => 'following_user_id'
end
現在我需要通過用戶名執行ActiveRecord查詢時的結果。
Following.where(:user_id => 47).includes(:user).order("users.username ASC")
問題是我:我可以爲直線上升者協會(USER_ID)用下面的代碼將返回到我由屬於關聯的用戶名下令追隨中的列表,以user_id說明輕鬆地實現這個無法達到由另一個關聯(following_user_id)排序的相同結果。我已經加入該協會的.includes電話,但因爲活動記錄是尋找在桌子上的關聯題爲following_users
Following.where(:user_id => 47).includes(:user => :followers).order("following_users.username ASC")
我試圖在.order呼叫改變協會的名字名字,我得到一個錯誤我在用戶模型中作爲追隨者設置,但沒有任何工作,它仍然在尋找具有這些標題的表格。我也嘗試了user.username,但是這將基於其他關聯進行排序,例如在第一個示例中。
如何通過following_user.username來訂購ActiveRecord結果?
工程就像一個魅力!謝謝! –