こんにちは、AJAX と JQuery を使用してテーブル内にデータを表示しようとしています。私のコードでわかるように、部分的なフォームを使用してデータを取得し (これはうまく機能します)、保存ボタンをクリックすると、データページ全体を更新せずに表示されますが、テーブル内に表示する方法と jquery UI スライド効果がわかりません。申し訳ありませんが、レールは初めてで、Web 開発にはさらに悪いです:D
私のコードをお見せしましょう。
create.js.erb
$('#new_location').remove();
$('#new_link').show();
$('#allsites').prepend('<%= escape_javascript(render(@location)).html_safe %>');
_location.html.erb 部分ファイル
<tr>
<td><%= location.name %></td>
<td><%= location.address%></td>
<td><%= link_to 'Show', location %></td>
<td><%= link_to 'Edit', edit_location_path(location) %></td>
<td><%= link_to 'Destroy', location, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
Index.html.erb
<div class="hero-unit">
<%= gmaps4rails(@json) %>
</div>
<%= link_to 'New Location', new_location_path, id:"new_link", remote: true%>
<table class="table table-hover">
<tr>
<th>Name</th>
<th>Address</th>
<th></th>
<th></th>
<th></th>
</tr>
<div id="allsites"><%= render @locations%></div>
</table>
new.js.erb
$('#new_link').hide().after('<%= j render("form") %>');
location_controller.rb
class LocationsController < ApplicationController
def index
@locations = Location.all
@json = Location.all.to_gmaps4rails
end
def new
@location = Location.new
end
def edit
@location = Location.find(params[:id])
end
def create
#@location = Location.new(params[:location])
@location = Location.create(params[:location])
respond_to do |format|
format.html { redirect_to @location, notice: 'Location was successfully created.' }
format.js
end
end
def show
@location = Location.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @location }
end
end
def update
@location = Location.find(params[:id])
respond_to do |format|
if @location.update_attributes(params[:location])
format.html { redirect_to @location, notice: 'Location was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @location.errors, status: :unprocessable_entity }
end
end
end
def destroy
@location = Location.find(params[:id])
@location.destroy
respond_to do |format|
format.html { redirect_to locations_url }
format.json { head :no_content }
end
end
end
シークレットショット ajax でわかるように、データを取得して置換していますが、表示方法はまだわかりません。