test_appのインデックス ページのページネーションにwill_paginate gem を使用しました。リストされているオークションが表示され、各オークションに対応する編集、破棄機能があります。私のページネーションはうまくいっています。全部で 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
私のコントローラー -uctions_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
解決策を提案してください。ありがとうございました。