railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

helper内でwhereするとincludesで先読みしててももう一度SQLを投げてしまう

xxx_helper.rb

def help(status)
   nanika = @nanika.where(status: status)
   ....
end

これだと、キャッシュされたActiveRecord::Relationを利用せずにまたSQLを投げてしまう なので、rubyのfindを使ってみた。 これでいいのか謎だけど、とりあえずSELECTが発行されるようなことはなくなった

nanika = @nanika.find { |item| item.status== status }