環境
Rails 6.1.3
ruby ruby 3.0.0p0
gem ransackにて検索機能を実装
案件検索機能を作っています。
具体的には案件(matters)内の
matters/index.html.erbにて検索した結果をmatters/show.html.erbへ渡したいと考えています。
現在、matters_controller.rbでは
ruby
1class MattersController < ApplicationController 2 3 def index 4 @q = Matter.ransack(params[:q]) 5 @matters_q = @q.result(distinct: true).all.order(sort_column + ' ' + sort_direction) 6 end 7 8 def show 9 ここに@matters_qのデータを渡したい 10 end
としています。
「@q」は検索キーワードを取得していて、この値を用いて取得した結果を@matters_qへ代入しています。
ここで取得した@matters_qをshowインスタンスへ渡したいと考えております。
しかしながら、showへの渡し方がわからず困っております。
なお、show内で再度
ruby
1 def show 2 @q = Matter.ransack(params[:q]) 3 @matters_q = @q.result(distinct: true).all.order(sort_column + ' ' + sort_direction) 4 end
とする方法もあるかと思いますが、今回はこのような方法を取らず、showへデータを引き渡す方法がないかと思案しております。
ご助言賜れますと幸いです。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー