Ajaxを使用して単純な削除を行いたいのですが、これは機能しません。JQueryのfadeOutを作成したいのですが、これは機能しません。削除すると、trはどのように消えますか。
私のapplication.jsは
$('.delete_post').bind('ajax:success', function() {
$(this).closest("tr").fadeOut();
});
私のピープルコントローラーは
def destroy
@person = Person.find(params[:id])
@person.destroy
respond_to do |format|
format.html { redirect_to people_url }
format.js { render :nothing => true }
end
end
私のビューindex.html.erb
<tr>
<td><%= person.name %></td>
<td><%= person.birth %></td>
<td><%= person.email %></td>
<td><%= link_to 'Show', person %></td>
<td><%= link_to 'Edit', edit_person_path(person) %></td>
<td><%= link_to 'Destroy', person ,method: :delete, data: { confirm: 'Are you sure?' },:remote=> true, :class =>'delete_post' %></td>
</tr>
私はAjaxを学習していますが、これは機能しません。削除は発生しますが、ajaxは機能しません。このタグをビューに含めます。
<%= javascript_include_tag :defaults %>
しかし、何も変更しません
ログは次のとおりです。
Started DELETE "/people/20" for 127.0.0.1 at 2012-09-03 15:23:45 -0300
Processing by PeopleController#destroy as JS
Parameters: {"id"=>"20"}
[1m[35mPerson Load (0.0ms)[0m SELECT `people`.* FROM `people` WHERE `people`.`id` = ? LIMIT 1 [["id", "20"]]
[1m[36mSQL (0.0ms)[0m [1mBEGIN[0m
[1m[35mSQL (0.0ms)[0m DELETE FROM `people` WHERE `people`.`id` = ? [["id", 20]]
[1m[36m (46.9ms)[0m [1mCOMMIT[0m
Rendered text template (0.0ms)
Completed 200 OK in 94ms (Views: 46.9ms | ActiveRecord: 46.9ms)