我使用will_paginate gem 对我的 test_app 的索引页进行分页。它只显示列出的拍卖,并且与每个拍卖相对应,有编辑、销毁功能。我的分页运行良好。我总共有 6 次拍卖以表格的方式列出,当我输入 per_page = 2 时,有 3 页。但是,当我在第 2 或第 3 页编辑和更新拍卖时,它只会在更新操作后进入第一页。我希望它保持在同一页面上。
我的观点 - Index.html.erb
<h1>Listing auctions</h1>
<table>
  <tr>
    <th>Name</th>
    <th>Category</th>
    <th>Item</th>
    <th></th>
    <th></th>
    <th></th>
  </tr>
<% @auctions.each do |auction| %>
  <tr>
    <td><%= auction.name %></td>
    <td><%= auction.category %></td>
    <td><%= auction.item_id %></td>
    <td><%= link_to 'Show', auction %></td>
    <td><%= link_to 'Edit', edit_auction_path(auction) %></td>
    <td><%= link_to 'Destroy', auction, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>
</table>
<br />
<%= will_paginate @auctions %>
<%= link_to 'New Auction', new_auction_path %>
<%= link_to 'Back to Home', home_path %>
我的模特 - Auction.rb
class Auction < ActiveRecord::Base
  attr_accessible :name, :category, :item_id
  self.per_page = 2
end
我的控制器-auctions_controller.rb
class AuctionsController < ApplicationController
  # GET /auctions
  # GET /auctions.json
  def index
    @auctions = Auction.paginate(:page => params[:page])#pagination for Index
    #@posts = Post.paginate(:page => params[:page])
    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @auctions }
    end
  end
  # GET /auctions/1
  # GET /auctions/1.json
  def show
    @auction = Auction.find(params[:id])
    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @auction }
    end
  end
  # GET /auctions/new
  # GET /auctions/new.json
  def new
    @auction = Auction.new
    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @auction }
    end
  end
  # GET /auctions/1/edit
  def edit
    @auction = Auction.find(params[:id])
  end
  # POST /auctions
  # POST /auctions.json
  def create
    @auction = Auction.new(params[:auction])
    respond_to do |format|
      if @auction.save
        format.html { redirect_to @auction, notice: 'Auction was successfully created.' }
        format.json { render json: @auction, status: :created, location: @auction }
      else
        format.html { render action: "new" }
        format.json { render json: @auction.errors, status: :unprocessable_entity }
      end
    end
  end
  # PUT /auctions/1
  # PUT /auctions/1.json
  def update
    @auction = Auction.find(params[:id])
    respond_to do |format|
      if @auction.update_attributes(params[:auction])
        format.html { redirect_to @auction, notice: 'Auction was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @auction.errors, status: :unprocessable_entity }
      end
    end
  end
  # DELETE /auctions/1
  # DELETE /auctions/1.json
  def destroy
    @auction = Auction.find(params[:id])
    @auction.destroy
    respond_to do |format|
      format.html { redirect_to auctions_url }
      format.json { head :no_content }
    end
  end
end

请提出解决方案。谢谢你。