我正在開發一個項目,我有一個用戶,一個用戶有一個UserSetting。我想獲取User.user_setting.status =='active'的用戶。我在那一刻:根據關聯屬性獲取記錄
User.joins(:user_setting).where(:user_setting => {:status => 'active'})
,但它似乎沒有工作,我得到的錯誤
Unknown column 'user_setting.status' in 'where clause'
如果有人能幫助我,我要去哪裏錯了,將不勝感激。
啊,我當然可以。 UserSettings返回UserSettings(id:integer,status:string,user_id:integer,created_at:datetime,updated_at:datetime)' – user2320239
'用戶'不應該是'User'?錯字?所以,在user.rb中你有'has_one:user_settings'?複數? – Ursus
您錯誤地命名模型。用戶表應該由User模型管理,而不是由User模型管理,user_settings應該映射到UserSetting模型而不是UserSettings模型。對於Rails來說,模型名稱必須是* singular *,以便自動選擇正確的表格,而不是複數形式。解決這些問題,並看看是否有幫助。 – meagar