📖
検索結果をransack parameterを利用して引き継ぐ
実装の想定
- articles#index(記事の一覧ページ) から articles#bulk_edit(一括更新ページ)へ遷移する際に、articles#indexでのransackの検索パラメーターをbulk_editでも引き継ぎたい
実装
- ransack純正の処理でもありそうだが、ドキュメント見ていても見つけられなかったので
- ちと無理やりだけどこんな感じで実装できる
- (ransack_paramsはもうちょいセキュアにお願いします!)
def index
@q = Article.all.ransack(ransack_params)
@pagy, @articles = pagy(@q.result.order(created_at: :desc))
@query = ransack_params.to_h.each_with_object({}) do |(key, value), new_hash|
new_key = "q[#{key}]"
new_hash[new_key] = value
end
end
def ransack_params
params.require(:q).permit!
end
= link_to bulk_edit_articles_path(@query)
Discussion