0
我的應用程序中有一個表繼承結構,Admins和Mods擴展了User類。該表採用了鑑別值,每條記錄都有一個類型不是「管理」或「MOD」的在查詢數據庫時讓數據映射器忽略'type'
當談到找到用戶(在登錄)我想寫:
current_user = User.find(params[:email => email])
然而,這產生了SQL,其中包括
SELECT ...... WHERE ("type" IN ('User') AND .....
這意味着,記錄不能被發現。但如果我輸入
current_user = Admin.find(params[:email => email])
我得到用戶(如果他們是管理員)。
我也試過仍創建以下無濟於事,因爲「類型」 IN(「用戶」):
current_user = User.first(:email => email, :type => [Admin, Mod])
預先感謝任何幫助這個
不怕。生成的SQL看起來像這樣: SELECT ..... FROM「users」WHERE(「type」IN('User')AND「type」IN('Admin','Mod')AND「email」=。 ...... – Ger 2010-06-02 13:39:48