2016-09-26 6 views
-1

블레이드에서 Form::open(['action' => '[email protected]']);을 사용하여 뷰에서 컨트롤러로 데이터를 전달합니다. 나는 그것을 해결하기 위해 할 수있는 방법, 그래서블레이드 뷰에서 컨트롤러로 데이터를 전달합니다.

App\Modules\Somethings\Controllers\

:

Action App\Http\Controllers\[email protected] not defined.

내 컨트롤러가이 주소입니다 바로 이후입니다 : 그럼 나는 오류가 발생했습니다.

감사합니다.

+0

정규화 된 네임 스페이스를 템플릿에 추가 하시겠습니까? – Andrew

+0

당신의 생각은 다음과 같습니다. Form :: open ([ 'action'=> 'App \ Modules \ Somethings \ Controllers \ Controller @ method']); 오류는'Action App \ Http \ Controllers \ App \ Modules \ Somethings \ Controllers \ Controller @ method not defined. '가되었습니다. – Chung

+0

잠깐만 요, 폼 동작으로 인해 컨트롤러로 연결되는 URL로 이어지지 않아야합니까? 무슨 laravel 버전을 사용하고 있습니까? – Andrew

답변

0

당신은 시도 할 수 있습니다 이 방법.

  1. 먼저 routes.php 파일에 이것에 대한 경로를 생성

    Route::any('first/second/{id}', [ 'uses' => 'App\Modules\Somethings\[email protected]' ]);

  2. 는 그런 형태의 루트 URL이

    {!! Form::open(['url' => 'first/second/5', 'method' => 'put']) !!}

0

파일 이름이 문제가 될 수 있습니다. Laravel은 기본적으로 기본 컨트롤러도 제공합니다. 왜 이름을 바꾸고 새로운 이름이나 전체 경로로 시도해 보지 않으시겠습니까?

또한 루트 폴더에서 루트 파일을 얻을 laravel 5.3

1

당신은 루트가 아닌 컨트롤러 @ 방법을 사용하여 문제를 해결할 수 있습니다 사용합니다. 당신의 routes.php에서

그런 다음 당신이 바로 그 경로를 얻을 수있는 URL : 경로() 메소드를 사용하여 컨트롤러

Route::resource('posts', 'PostController', ['before' => 'csrf']); 

가리키는 자원을 정의합니다.

{!! Form::open(['url' => URL::route('posts.update', [$post->id]), 'method' => 'put', 'files' => false]) !!} 

는 모든 경로를 확인하려면 어떻게 그들이 별명되어 실행 다음 장인 명령을

L5.x

php artisan route:list 

L4.x는

php artisan routes 
0

당신이 사용할 수있는 사용

Form::model 

대신에. 예 :

Form::model($user, ['method' => 'PATCH', 'action' => ['[email protected]date', $user->id], 'files' => true]) 
// do you form stuff 
Form::close()