###実現したい事
検索フォームで、ひらがな・カタカナ・漢字の区別なく検索できる機能を作っています。
現在、検索するワードを全てローマ字にする事ができましたが、検索先のカラム値をローマ字に変換できずにいます。
カラムの値を、whereメソッドをかける前にローマ字に変換する方法があればお教え頂ければ幸いです!
controller
1def index 2 if params[:search] 3 word = params[:search] 4 if word.match(/[一-龠々]/) 5 @search = word.to_kanhira.to_roman 6 elsif word.is_hira? || word.is_kana? 7 @search = word.to_roman 8 else 9 @search = word 10 end 11 @posts = Post.search(@search).order(created_at: :desc) 12 else 13 @posts = Post.order(created_at: :desc) 14 end 15end
model
1def self.search(search) #self.でクラスメソッドとしている 2 if search #こちらのwhereの前にtitle値をローマ字に変更したい 3 Post.where(['title LIKE ?', "%#{search}%"]) 4 else 5 Post.all #全て表示。 6 end 7end
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/26 03:57
2021/03/26 04:59
2021/03/30 07:40