【Rails/Heroku】開発環境と本番環境で異なるタグ検索の挙動を解決したい
解決したいこと
RailsでWebアプリを作っています。
Herokuにデプロイしていますが、開発環境と一部挙動が異なる状況です。
本番環境のアプリのログを確認していますが、なかなか読み解けずいます。
解決方法を教えてください。
発生している問題・エラー
開発環境
タグ検索機能を実装しており、開発環境ではタグに紐づいている投稿写真の検索は問題なく挙動しています。
本番環境
一番初めに登録したタグに紐づいた写真の検索は問題なく挙動しています。
しかし、それ以外のタグでは検索結果の表示がされない挙動となってしまっています。
該当するソースコード・ログ
class SearchController < ApplicationController
def search
@gender = Gender.find([2, 3, 4])
@price = Price.find([2, 3, 4, 5, 6])
@tags = Tag.all.order('created_at DESC')
@value = params['search']['value']
@how = params['search']['how']
@datas = search_for(@how, @value)
end
private
--中略--
def match_tag(value)
Photo.where(id: PhotoTag.select(:photo_id)
.where(tag_id: value)
.group(:photo_id)
.having('COUNT(DISTINCT photo_tags.tag_id) = ?', value.size))
end
def search_for(how, value)
case how
when 'match_gender'
match_gender(value)
when 'match_price'
match_price(value)
when 'match_tag'
match_tag(value)
else
keyword(value)
end
end
end
--中略--
<% @tags.each do |tag|%>
<%=link_to "##{tag.name}", search_search_path('search[value]': tag.id, 'search[how]': "match_tag") , class:"nav-link" %>
<% end %>
自分で試したこと
HerokuのデータベースをSQLite3から開発環境同様のPostgreSQLに変更済み。
写真投稿や性別、値段、フリーワードでの検索の機能は問題なく挙動しているため、DB設定には問題はないと考えられます。
デプロイしたアプリのログをそれぞれ、正常な挙動と異常な挙動に分けて確認しました。
データ検索している部分に注目しましたが、特にログ自体に問題はないように自分には思えてしまい、現在に至っています。
部分的にログを切り取ってしまっているため分かりにくいですが、この状態が3日間続いているので助けを求めています。
どうかよろしくお願いします。