【发布时间】:2015-11-09 18:11:22
【问题描述】:
我正在构建一个应用程序,用户可以在其中喜欢/不喜欢彼此的项目。我已经建立了一个系统,允许用户喜欢这项工作,并且每个喜欢都以唯一的 ID、project_id 和 user_id 存储在我的数据库中。
现在我正在构建 Unlike 部分,但在点击 Unlike 按钮时出现错误。
错误:
抱歉,找不到您要查找的页面。 RouteCollection.php 第 161 行中的 NotFoundHttpException:
我的路线:
Route::post('projects/{id}', 'LikesController@store');
Route::get('projects/{id}','LikesController@destroy');
我的控制器
public function store(Request $request)
{
$input = Request::all();
$like = new Like;
$like->user_id = Auth::user()->id;
$like->project_id = $input['project_id'];
$like->save();
return redirect('projects/'.$input['project_id']);
}
public function destroy($id)
{
$input = Request::all();
Like::find($id)->delete();
return redirect('projects/'.$input['project_id']);
}
我的表格
@if (Auth::check())
@if ($isLikedUser)
{!! Form::open(array('url'=>'projects/'.$project->id.'/deletelike','method'=>'POST')) !!}
{!! Form::hidden('project_id', $project->id) !!}
{!! Form::Submit('Unlike', array('class'=>'send-btn')) !!}
{!! Form::close() !!}
@else
{!! Form::open(array('url'=>'projects/'.$project->id,'method'=>'POST', 'id'=>'likeform')) !!}
{!! Form::hidden('project_id', $project->id) !!}
{!! Form::Submit('Like', array('class'=>'send-btn')) !!}
{!! Form::close() !!}
@endif
@else
<p>Log in to like.</p>
@endif
【问题讨论】:
-
已编辑 OP。添加了正确的错误消息。
-
在命令行上写
php artisan route:list并发布您注册的路线。你也可以写堆栈跟踪吗? -
我知道 projects/{id}/deletelike 路线不存在,我没有查看它或任何我只想用它来删除喜欢的东西。可能是 projects/{id}/hellothere 这无关紧要,因为我只是想用来删除一个赞。这是对还是错?
-
你的方法都是post,改一下:
Route::post('projects/{id}','LikesController@destroy'); -
我这样做了,现在当我去一个项目并按“喜欢”时,项目 ID 被删除。例如:我去项目 6,这个项目有 0 个赞。我按赞,id 为 6 的赞被删除。