質問編集履歴

1

記述したソースコードの追記

2019/11/18 14:13

投稿

kanaxxxxx
kanaxxxxx

スコア5

test CHANGED
File without changes
test CHANGED
@@ -12,11 +12,15 @@
12
12
 
13
13
  /folders/5/tasksで自分のフォルダIDへログインした後、
14
14
 
15
- /folders/6/tasksのURLへ直接アクセスしようとすると例外処理ではなく、folders/5/tasksへ戻る仕様を作成したいです。
15
+ /folders/6/tasks(他人フォルダID)のURLへ直接アクセスしようとすると例外処理ではなく、folders/5/tasksへ戻る仕様を作成したいです。
16
16
 
17
17
 
18
18
 
19
19
  公式ドキュメントを読んで実装してみましたが、以下の例外エラーの表示が消えません。
20
+
21
+ https://readouble.com/laravel/5.5/ja/errors.html
22
+
23
+ 上記日本語版ドキュメントのrenderメソッド部分を参照しました。
20
24
 
21
25
 
22
26
 
@@ -58,7 +62,7 @@
58
62
 
59
63
  ### 記述したソースコード
60
64
 
61
- app/Exceptions/Handler.php
65
+ 1.app/Exceptions/Handler.php
62
66
 
63
67
 
64
68
 
@@ -82,6 +86,86 @@
82
86
 
83
87
  ```
84
88
 
89
+ 2.routes/web.php
90
+
91
+ ```
92
+
93
+ Route::group(['middleware' => 'auth'], function(){
94
+
95
+ Route::get('/', 'HomeController@index')->name('home');
96
+
97
+
98
+
99
+ Route::get('/folders/create', 'FolderController@showCreateForm')->name('folders.create');
100
+
101
+ Route::post('/folders/create', 'FolderController@create');
102
+
103
+
104
+
105
+ Route::group(['middleware' => 'can:view,folder'],function(){
106
+
107
+ Route::get('/folders/{folder}/tasks', 'TaskController@index')->name('tasks.index');
108
+
109
+
110
+
111
+ Route::get('/folders/{folder}/tasks/create', 'TaskController@showCreateForm')->name('tasks.create');
112
+
113
+ Route::post('/folders/{folder}/tasks/create', 'TaskController@create');
114
+
115
+
116
+
117
+ Route::get('/folders/{folder}/tasks/{task}/edit', 'TaskController@showEditForm')->name('tasks.edit');
118
+
119
+ Route::post('/folders/{folder}/tasks/{task}/edit', 'TaskController@edit');
120
+
121
+ });
122
+
123
+ });
124
+
125
+ Auth::routes();
126
+
127
+
128
+
129
+ ```
130
+
131
+ 3.該当箇所のController
132
+
133
+ ```
134
+
135
+ public function index(Request $request, Folder $folder)
136
+
137
+ {
138
+
139
+ if($request->user()->cant('view', $folder)){
140
+
141
+ return redirect('');
142
+
143
+ }
144
+
145
+ $folders = Auth::user()->folders()->get();
146
+
147
+ $tasks = $folder ->tasks() ->get();
148
+
149
+
150
+
151
+ return view('tasks/index', [
152
+
153
+ 'folders' => $folders,
154
+
155
+ 'current_folder_id' => $folder->id,
156
+
157
+ 'tasks' => $tasks,
158
+
159
+ ]);
160
+
161
+ }
162
+
163
+
164
+
165
+ ```
166
+
167
+
168
+
85
169
 
86
170
 
87
171
  tasks.indexに戻る様にしたいです。