#最終的な目標
任意の記事をModelのdelete()を使用し削除することをしたいと考えています。
#ソースコード
###HomeController.php
PHP
1namespace App\Http\Controllers; 2use Illuminate\Support\Facades\Auth; 3use App\Http\Controllers\DB; 4use Illuminate\Http\Request; 5use App\Post; 6use Illuminate\Support\Facades\Storage; 7class HomeController extends Controller 8{ 9 /** 10 * Create a new controller instance. 11 * 12 * @return void 13 */ 14 public function __construct() 15 { 16 $this->middleware('auth'); 17 } 18//〜〜その他のコード省略〜〜〜〜〜〜〜〜〜〜〜 19 20 public function destroy(Post $post) { 21 $post->delete(); 22 return redirect('/star/admin'); 23 } 24}
###web.php
PHP
1//〜〜その他のコード省略〜〜〜〜〜〜〜〜〜〜〜 2Route::delete('/posts/dell/{post}', 'HomeController@destroy');
###home.blade.php
PHP
1 @foreach($val as $pages) 2 3 <tr> 4 5 <td>{{$pages->updated_at}}</td> 6 <td><a href="{{url('/page/'.$pages->id )}}">{{ $pages->title }}</a></td> 7 <td><span id="{{$pages->type}}"></span></td> 8 <td> 9 10//下記の削除ボタンをクリックしたら削除処理実行 11<a class="btn btn-danger" href="#"data-id="{{$pages->id}}">削除</a></td> 12 </tr> 13 14 <form method="post" action="{{url('/posts/dell',$pages->id)}}"id="form_{{$pages->id}}"> 15 {{ csrf_field() }} 16 {{ method_field('delete') }} 17 </form> 18 @endforeach
###main.js
JavaScript
1document.addEventListener( 'DOMContentLoaded' , function( e ) { 2 'use strict'; 3 var cmds = document.getElementsByClassName('btn btn-danger'); 4 var i; 5 for ( i = 0; i < cmds.length; i++ ) { 6 cmds[ i ].addEventListener( 'click', function( e ) { 7 e.preventDefault(); 8 if ( confirm( 'are you sure?' ) ) { 9 document.getElementById( 'form_' + this.dataset.id ).submit(); 10 } 11 }, false ); 12 } 13}, false );
#エラーメッセージ
ErrorMessage
1"The POST method is not supported for this route. Supported methods: DELETE."
#その他
- ドットインストールのコードを元にしています。
全く解決方法が見いだせません…
どなたかご親切なかたご教授お願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。