結論:できない
なので諦めろ
とは言わない。
苦し紛れだがなんとかなる。安心してくれ
ActiveHashを定義する
SpaceType.rb
class SpaceType < ActiveHash::Base
self.data = [
{id: 1, name: "会議室"},
{id: 2, name: "イベントスペース"},
{id: 3, name: "シェアオフィス"},
{id: 4, name: "フロア"},
]
end
(案件の内容がバレる...。)
ここは普通に定義
ここからが本題
idが1と2と3を取得したいときは
SpaceType.find [1, 2, 3]
とすればいい。
出力結果
[#<SpaceType:0x00007ffb6193ed60 @attributes={:id=>1, :name=>"会議室"}>, #<SpaceType:0x00007ffb6193eab8 @attributes={:id=>2, :name=>"イベントスペース"}>, #<SpaceType:0x00007ffb6193e860 @attributes={:id=>3, :name=>"シェアオフィス"}>]
で、自分的に使いたかったのが、selectでの表示の制限
その場合は
<%= form.select :space_type_id, options_for_select((SpaceType.find [1, 2, 3]).map{|st| [st.name, st.id]}), {include_blank: "選択してください"} %>
と書けばOK
無事、絞り込んだ内容だけが表示され、whereと同じ役割を果たすことができました。
このほかにもメソッドが定義されれいるので知りたい方はこちらの記事もご参照ください。