1
當我這樣做:爲什麼用一組ID找到返回數組,而`where`與ID數組返回一個ActiveRecord ::關係
[29] pry(main)> u=User.where("id in (?)",[1,2])
=> ActiveRecord::Relation
[31] pry(main)>
而:
[33] pry(main)> u=User.find([2,3])
...
[34] pry(main)> u.class
=> Array
[35] pry(main)>
我知道這兩個都非常相似,但爲什麼沒有找到一個數組返回一個ActiveRecord :: Relation。有什麼深層原因嗎?我會認爲用id數組查找會返回一個ActiveRecord :: Relation。
THX
的原因是'find'返回實際的對象,而'where'是查找關係。這只是他們在Rails中所做的設計選擇。有時你會立即想要這個對象,而其他時候你只想要一個關係。 – Max
看起來像Acti – timpone