尝试在路由中使用ActualValues
方法进行更新时,遇到302错误。
路线
post
编辑表格刀片
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
控制器
{!! Form::model($article, ['route'=>['articles.update', $article->id], 'method' => 'post', 'class' => 'form-horizontal form-stripe']) !!}
使用public function update_article(Request $request, $id)
{
$data = Article::find($id);
$url = $this->url->to('/');
$data->image = $request->input('image');
$data->title = $request->input('title');
$data->description = $request->input('description');
$data->user_id = Auth::id();
$data->status = $request->input('status');
if ($request->hasFile('image'))
{
$f_imageName = time().'.'.request()->image->getClientOriginalExtension();
request()->image->move(public_path('uploads/articles'), $f_imageName);
$data->image =$url.'/public/uploads/articles/'.$f_imageName;
}
else
{
$data->image = $request->input('image_hidden');
}
$data->save();
Session::flash('success', 'articles has been updated');
return redirect()->route('articles.index');
}
进行更新,而不是像我正在使用summernote那样使用POST
。当我使用PUT
时,大PUT
会被截断。在summernote中指出,如果我不使用description
方法,可能会发生这种情况。
文章资源的POST
路由之前还有一条默认路由,如下:
update_article
注意:Route::resource('articles', 'ArticleController');
在发布操作中作为csrf token
参数发送。找不到任何解决方案。我有什么想念吗?
答案 0 :(得分:1)
如果您已经创建了所提到的资源。
Route::resource('articles', 'ArticleController');
然后从路线web.php
中删除以下代码,然后运行代码。
Route::post('update_article/{id}', 'ArticleController@update_article')->name('articles.update');
答案 1 :(得分:0)
最后,我将数据库结构从text
更改为varchar
,并且在更新操作中没有使用PUT
方法而不是POST
来截断长描述。因此,使用方法PUT
以表单commit-
路线:
Route::resource('articles', 'ArticleController');
现在一切正常。