JP_Cool
@JP_Cool

Почему возникает ошибка MethodNotAllowedHttpException?

При редактировании материала возникает MethodNotAllowedHttpException in RouteCollection.php line 218
Файл Router:
Route::resource('/articles', 'Admin\ArticlesController', [
	'parameters' => [
		'articles' => 'alias'
	]
]);

Код формы:
<div class="row">
	{!! Form::open(['url' => (isset($article->id)) ? route('admin.articles.update',['alias' => $article->alias]) : route('admin.articles.store'), 'method'=>'POST', 'enctype'=>'multipart/form-data']) !!}
		<div class="col s12 m6">
			<div class="info-block link-block">
				<b class="info-title">Заголовок статті:</b> <br>
				{!! Form::text('title', isset($article->title) ? $article->title  : old('title')) !!}
			</div>
		</div>
		<div class="col s12 m6">
			<div class="info-block link-block">
				<b class="info-title">Псевдонім статті:</b> <br>
				{!! Form::text('alias', isset($article->alias) ? $article->alias  : old('alias')) !!}
			</div>
		</div>
		<div class="col s12">
			<div class="info-block link-block">
				<b class="info-title">Короткий опис:</b> <br>
				<div class="info-wrapper">
					{!! Form::textarea('desc', isset($article->desc) ? $article->desc : old('desc'), ['id'=>'desc', 'class' => 'materialize-textarea']) !!}
				</div>
			</div>
		</div>
		<div class="col s12">
			<div class="info-block link-block">
				<b class="info-title">Повний текст:</b> <br>
				<div class="info-wrapper">
					{!! Form::textarea('text', isset($article->text) ? $article->text : old('text'), ['id'=>'text', 'class' => 'materialize-textarea']) !!}
				</div>
			</div>
		</div>
		@if(isset($article->img))
			<div class="col s12">
				<div class="info-block link-block">
					<b class="info-title">Теперішнє фото:</b> <br>
					<div class="info-wrapper">
						{{ Html::image(asset(env('THEME')).'/images/articles/'.$article->img, '', ['style'=>'width:500px']) }}
						{!! Form::hidden('old_image',$article->img) !!}
					</div>
				</div>
			</div>
		@endif
		<div class="col s12 m6">
			<div class="info-block link-block">
				<b class="info-title">Фото статті:</b> <br>
				<div class="file-field input-field">
					<div class="btn">
						<span>Виберіть файл</span>
						{!! Form::file('img') !!}
					</div>
					<div class="file-path-wrapper">
						<input class="file-path validate" type="text" placeholder="Загружайте лише 1 картинку">
					</div>
				</div>
			</div>
		</div>
		<div class="col s12 m6">
			<div class="info-block link-block">
				<b class="info-title">Категорія:</b> <br>
				<div class="input-field">
					{!! Form::select('category_id', $categories, isset($article->category_id) ? $article->category_id  : '', ['placeholder' => 'Виберіть категорію статті']) !!}
				</div>
			</div>
		</div>
		<div class="col s12">
			<div class="info-block link-block">
				<b class="info-title">Ключові слова:</b> <br>
				<div class="input-field">
					{!! Form::text('keywords', isset($article->keywords) ? $article->keywords  : old('keywords')) !!}
				</div>
			</div>
		</div>
		<div class="col s12">
			<div class="info-block link-block">
				<b class="info-title">Мета опис:</b> <br>
				<div class="input-field">
					{!! Form::textarea('meta_desc', isset($article->meta_desc) ? $article->meta_desc : old('meta_desc'), ['id'=>'meta_desc', 'class' => 'materialize-textarea']) !!}
				</div>
			</div>
		</div>
		<div class="col s12">
			<div class="info-block link-block">
				<b class="info-title">Показувати на головній:</b>
				<p>
					<label>
						@if($article->show == 1)
							<input name="show" id="show" type="checkbox" checked="checked" class="filled-in">
						@else
							<input name="show" id="show" type="checkbox" class="filled-in">
						@endif
						<span>Показувати статтю на головній сторінці</span>
					</label>
				</p>
			</div>
		</div>
		@if(isset($article->id))
			<input type="hidden" name="_method" value="PUT">		
		@endif
		<div class="col s12">
			<div class="info-block link-block flex-block">
				{!! Form::button('Зберегти', ['class' => 'btn btn-large', 'type'=>'submit']) !!}
			</div>
		</div>
	{!! Form::close() !!}
	<script>
		var options = {
			filebrowserImageBrowseUrl: '/laravel-filemanager?type=Images',
			filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token={{ csrf_token() }}',
		};
		CKEDITOR.replace('desc', options);
		CKEDITOR.replace('text', options);
	</script>
</div>

При том, что добавление с материала с этой самой формы работает нормально. В чем может быть проблема?
  • Вопрос задан
  • 364 просмотра
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Потому что редактирование — это PUT.

P.S. artisan route:list | grep articles
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы