私は私のレールアプリでKaminari Gemを使用しています。2ページ目の最後のレコードを削除すると、1ページに戻る
私は適切なナビゲーションメニューを持つ現在のインデックスページを持っています。
def index
@dogs = Dog.all.page(params[:page]).per(20)
end
def destroy
if @dog.destroy
# use this so that if the page got other records, the user got to stay at that navigated page.
redirect_back fallback_location: dogs_path, flash: { success: 'deleted dog from list' }
else
# show some errors
end
end
ユーザーがページ2にあり、21日の犬のレコードを削除すると、レコードが削除されたとブラウザがいないレコードに空白のページが表示されたURLが/dogs?page=2
を指定している原因となります。
これは既定の動作かカミナリですか、私の方法に何か問題がありますか?現在のページにはレコードが1つもないので、カミナリがユーザーを1ページ前にリダイレクトすることを期待していました。
ありがとうございました。
ありがとう!この回答は、私がその行動を望むものに最も近いものです。 Kaminari Gemがなぜ私たちのためにライブラリからこれをしないのか不思議です。リダイレクトする前にデータベースに別のクエリが必要なためかもしれません... – user3920567