私はRailsのエントリーレベルです。scaffold でデータベース (名前は「shop」) を作成しました。また、テーブルの概要を表示するページと、レコードの特定の情報を表示する別のページにジャンプするページを作成しました。ここで、表の 1 行の [表示] リンクをクリックすると、表の概要と同じページにレコードの固有情報が表示されるページを作成してみます。
しかし、私の予想にもかかわらず、私がすでに行ったように、他のページにジャンプします。私はこれについて何時間も使ったので、誰かの助けが欲しい.
ありがとうございました。
\app\controllers\shops_controller.rb
class ShopsController < ApplicationController
# GET /shops
# GET /shops.json
def index
@shops = Shop.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @shops }
end
end
# GET /shops/1
# GET /shops/1.json
def show
@shop = Shop.find(params[:id])
respond_to do |format|
format.html { render layout: (request.headers["X-Requested-With"] != 'XMLHttpRequest') }
format.json { render json: @shop }
end
end
# GET /shops/new
# GET /shops/new.json
def new
@shop = Shop.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @shop }
end
end
# GET /shops/1/edit
def edit
@shop = Shop.find(params[:id])
end
# POST /shops
# POST /shops.json
def create
@shop = Shop.new(params[:shop])
respond_to do |format|
if @shop.save
format.html { redirect_to @shop, notice: 'Shop was successfully created.' }
format.json { render json: @shop, status: :created, location: @shop }
else
format.html { render action: "new" }
format.json { render json: @shop.errors, status: :unprocessable_entity }
end
end
end
# PUT /shops/1
# PUT /shops/1.json
def update
@shop = Shop.find(params[:id])
respond_to do |format|
if @shop.update_attributes(params[:shop])
format.html { redirect_to @shop, notice: 'Shop was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @shop.errors, status: :unprocessable_entity }
end
end
end
# DELETE /shops/1
# DELETE /shops/1.json
def destroy
@shop = Shop.find(params[:id])
@shop.destroy
respond_to do |format|
format.html { redirect_to shops_url }
format.json { head :no_content }
end
end
end
\app\views\shops\index.html.erb
<h2>Shops</h2>
<table>
<tr>
<th>Name</th>
<th>Link_ID</th>
<th>Offer</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @shops.each do |shop| %>
<tr>
<td><%= shop.name %></td>
<td><%= shop.link_id %></td>
<td><%= shop.offer %></td>
<td><%= link_to 'Show', shop, :remote => true, "data-type" => "html", :class => 'show' %></td>
<td><%= link_to 'Edit', edit_shop_path(shop) %></td>
<td><%= link_to 'Destroy', shop, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
<br />
<div id="show_area"></div>
<%= javascript_tag do %>
$('a.show').on('ajax:success', function (data, status, xhr) {
$('#show_area').html(status);})
<% end %>
\app\views\shops\show.js.erb
$('#show_area').html("<%= raw(j(render :partial => 'show_body')) %>")