ruby-on-rails 带有turbo帧操作的Rails pagy gem导致分页时生成错误的url

krugob8w  于 2023-02-14  发布在  Ruby
关注(0)|答案(1)|浏览(143)

在我的应用程序中,我使用pagygem进行分页,使用turbo帧进行交互式CRUD操作。
我想更新分页列表项帧与turbo_stream。erb行动时,我删除一些记录。一切工作正常预期分页链接。他们必须像...

/toponyms?page=1
/toponyms?page=2

但当我销毁记录分页链接发生如下。

#because of deleted record id = 278
/toponyms278?page=1
/toponyms278?page=2
    • 控制器**
def destroy
    authorize @toponym
    @toponym.destroy
    flash[:info] = "Toponym was successfully destroyed."
    
    # This code must be here for update pagination after delete 
    @pagy, @toponyms = pagy(Toponym.order(created_at: :desc))
    puts @pagy
    respond_to do |format|
      format.turbo_stream
      format.html { redirect_to toponyms_url, notice: "Toponym was successfully destroyed." }
      format.json { head :no_content }
    end
  end

#destroy.turbo_stream.erb
<%= turbo_stream.update "total" do %>
    <%== pagy_nav(@pagy) %>
    <%== pagy_info(@pagy) %>
<% end %>
yjghlzjz

yjghlzjz1#

您应该使用:request_path变量(在pagy v6.0+中可用),如定制request_path中所示。
我想下面的一些东西应该适用于您的情况:

@pagy, @toponyms = pagy(Toponym.order(created_at: :desc), request_path: '/toponyms')

相关问题