検証環境
Rails 5.1.7 Ruby 2.5.7
結論
Set型の値をto_aで配列に戻してあげないと、配列として解釈してはくれない模様..
# 都道府県モデル class Prefecture < ActiveHash::Base field :name field :english add id: 1, name: 'ほげ県', english: "Hoge" <中略> end
$ prefecture_ids => #<Set: {1, 2, 3}> $ Prefecture.where(id: prefecture_ids).to_a => [] $ Prefecture.where(id: prefecture_ids.to_a).to_a => [#<Prefecture:0x00007fc28d62bd10 @attributes={:id=>1, :name=>"ほげ県", :english=>"Hoge"}>
所感
mongoidだと to_a
せずに Set型のまま検索条件にセットしても配列として解釈してくれるので、普通に検索出来るのかと思ってた...(これは罠だww)
普段使い慣れているライブラリの常識で他のライブラリを使うとこういうことになるので、使うツールやライブラリのREADMEやコードをちゃんと読んで使うのがホントに大事!