diff --git a/app/Http/Controllers/TodoController.php b/app/Http/Controllers/TodoController.php index 7819702..cac6eb2 100644 --- a/app/Http/Controllers/TodoController.php +++ b/app/Http/Controllers/TodoController.php @@ -32,6 +32,12 @@ */ public function store(StoreTodoRequest $request) { + // info($request->all()); // ~/Herd/my-new-site/storage/logs などに出力する。フォームが何を送信しているか確認できる。 + Todo::create([ + 'user_id' => auth()->id(), + 'task' => $request->task, + ]); + return redirect()->route('todo.index')->with('message.success', 'Todo created successfully!'); // } diff --git a/app/Http/Requests/StoreTodoRequest.php b/app/Http/Requests/StoreTodoRequest.php index 0731f85..9941f44 100644 --- a/app/Http/Requests/StoreTodoRequest.php +++ b/app/Http/Requests/StoreTodoRequest.php @@ -11,7 +11,7 @@ */ public function authorize(): bool { - return false; + return true; // ここをtrueにしないと、403 This action is unauthorized.になります。 } /** @@ -22,6 +22,7 @@ public function rules(): array { return [ + 'task' => 'required|string|max:255', // ]; } diff --git a/app/Models/Todo.php b/app/Models/Todo.php index 2163c9b..8e2da93 100644 --- a/app/Models/Todo.php +++ b/app/Models/Todo.php @@ -9,4 +9,12 @@ { /** @use HasFactory<\Database\Factories\TodoFactory> */ use HasFactory; + + /** + * fillable 配列が定義されていないと、データを保存する際にエラーが発生します。 + */ + protected $fillable = [ + 'task', + ]; + } diff --git a/resources/views/todo/index.blade.php b/resources/views/todo/index.blade.php index f933db7..18b48f3 100644 --- a/resources/views/todo/index.blade.php +++ b/resources/views/todo/index.blade.php @@ -5,6 +5,14 @@ +
+ @if (session('message.success')) +
+ {{ session('message.success') }} +
+ @endif +
+
@@ -29,4 +37,14 @@
+ +
+
+ @csrf +
+ + +
+
+