我刚刚遵循了一个教程,在web.php中调用控制器函数所需的唯一代码是:
Route::resource('/articles', 'ArticleController');
这适用于创建项目时已经存在的所有功能(编辑,更新,销毁,...)现在我需要做一个第二个更新函数(up投票)。但是当在控制器中创建一个新函数并路由到它时,我会得到以下错误:
未定义路由[articles.upvote]。(视图:D:\school\web backend\oplosingen\hackernews\resources\views\articles\index.blade.php)
我如何使"a"标签转到控制器的向上投票函数?我的代码:
public function upvote(Request $request, $id)
{ /* ArticleController.php */
$article = Article::find($id);
$article->points += 1;
$article->save();
Session::flash('succes', 'Upvote was a succes');
return redirect()->route('articles.index');
}
td> <!-- index.blade.php !-->
<a href="{{ route('articles.upvote', ['articles'=>$storedArticle->id]) }}" class="btn btn-default">upvote</a>
</td>
<td>downvote</td>
<td>
<a href="{{ route('articles.edit', ['articles'=>$storedArticle->id]) }}" class="btn btn-default">edit</a>
</td>
Route::get('/', function () { /*route\web.php */
return view('welcome');
});
路由::资源('/articles',ArticleController');
你需要在你的路由中添加你的支持投票功能。所以你必须在你的web.php中创建新的路由,比如
Route::post('articles/{Article}/{article_id}/upvote','ArticleController@upvote')->name('upvote');
如果你想使用文章,你需要命名你的路线。向上投票
语法。
您的web.php文件应该如下所示:
// Use 'GET' or 'POST' depending on how you have your view setup
Route::get('/articles/{article}/upvote', 'ArticleController@upvote')->name('articles.upvote');
Route::resource('/articles', 'ArticleController');
有关路由的更多信息,请参见:https://laravel.com/docs/5.3/routing#named-路线
我试图实现的是通过@foreach发布所有新闻,并在@foreach-do-other@foreach之间发布所有带有新闻帖子ID的评论。 我不确定如何将此ID传递给getNews评论函数。 我的控制器: 路线: 新闻模式: 注释模型: 看法 错误: 未定义变量:newsComments(视图:C:\xampp\htdocs\resources\views\index.blade.php)
在Laravel5.2中,我想将所有未定义的url路由到一个特定的控制器。 我正在开发类似CMS的功能,我想要这个东西。 所以url喜欢 www.domain.com/post/po-t/some/thing www.domain。com/profile 所以第一个url应该重定向到页面函数,第二个url应该重定向到配置文件函数 基本上,我想要一些关于N-number或参数的想法,因为在页面中,它
我正在学习拉威尔,我正在尝试使用拉威尔护照。当我尝试创建一个新用户时,我发现错误404 not found。 注册控制器。php 应用程序/Http/控制器/认证 我的api控制器也有这个路径 应用程序/Http/控制器/Api api中的路由。php 注册控制器 失眠测试注册 我知道我没有传递任何注册值。 我测试过127.0.0.1:8000/create 我已经测试了127.0.0.1:800
问题内容: 我一直在跟随一个教程,教科书向我保证这可以工作,但是 错误:[ng:areq]参数’SimpleController’不是一个函数,未定义 为什么?我掉毛了,在它上面上下移动,看不到问题。为什么出现未定义状态? 问题答案: 我的猜测是您使用的angular.js版本是更新的。 有一个重大变化,即: 默认情况下 , angular将不再寻找控制器。有关更多详细信息,请参见3f2232b5
自定义路由 easySwoole支持路由拦截。其路由利用fastRoute实现,因此其路由规则与其保持一致,该组件的详细文档请参考 GitHub文档 路由定义 若需要再easySwoole使用路由拦截功能,请在应用目录(默认为App)下,建立Router类,井继承Core\AbstractInterface\AbstractRouter实现addRouter方法,如果在类UNIX系统下请严格注意文
控制器定义 ThinkCMF5的控制器完全按 TP5的控制器用法来,但 CMF 封装了几个重要控制器基类,为了更方便开发者,我们建议如果没有特殊需求,自己创建的控制器请最好继承一个基类控制器; 用于 WEB 项目的基类控制器有四个,分别是:BaseController,HomeBaseController,UserBaseController,AdminBaseController 继承关系 th