Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

AngularJSとRails4でRestアプリ作成(9)destroyアクションを設定

前回までに、index、show、create、updateの機能を作成したので、最後にdestroyのアクションを作成します。
 
1)Railsコントローラにdestroyアクション追加
 
$ vi app/controllers/users_controller.rb

  def destroy
    @user = User.find(params[:id])
    @user.destroy
    head :no_content
  end

 
2)Indexビューにユーザー削除のボタンを追加
 
$ vi app/assets/templates/users/index.html

<td>
  <a href="/users/{_{user.id}}">詳細</a>
  <a href="/users/{_{user.id}}/edit">編集</a>
  <button ng-click="delete(user.id)" class="btn btn-warning btn-sm">削除</button>
</td>

 
3)Indexコントローラにdelete関数を追加
 
$resouceサービスを使って定義したdestroyアクションを使って削除します。
 
削除後、ユーザー一覧情報を更新するため、サーバーからユーザー情報を取得しなおしています。
 
$ vi app/assets/javascripts/

mymodule.controller("UsersIndexCtrl", function($scope, userResource, $location) {
  $scope.users = userResource.index();
  $scope.delete = function(id) {
    userResource.destroy({ id: id });
    $scope.users = userResource.index();
//    $window.location.reload();
  };
});