2013-03-16 3 views
2

현재 Laravel 4를 시험하고 있으며 리소스 컨트롤러를 만들었습니다. '편집'기능에서 나는 '업데이트'기능에 게시해야하는 양식을 만들고 있습니다.Laravel 4 Form :: 열린 세트 동작

양식 열기 태그를 만들려면 최근에 Laravel 4에 추가 된 Form::open() 함수를 사용하십시오. 하지만 그냥 할 때 Form::open() 양식의 동작은 현재 URL이며 동작을 변경하는 방법을 알 수 없습니다.

나는 Form::open('clients/' . $client->id)을 시도했지만이 나에게 다음과 같은 오류 제공 :

ErrorException : 잡아낼 치명적인 오류 : 조명에 전달 된 인수 1 \ html로 \ FormBuilder :) (오픈 타입의 배열

이어야합니다

그래서 Form::open('[clients/' . $client->id)을 시도했습니다. 이 오류를 생성하지 않습니다,하지만 지금은 폼을 열고 태그는 다음과 같습니다

<form method="POST" action="http://boekhouding.dev/clients/1/edit" accept-charset="UTF-8" clients/1="clients/1">

그리고이 같은 그것을 시도 : Form::open(['action' => 'clients/' . $client->id])을하지만 난 이런 식으로 작업을 수행 할 때 폼을 열고 태그는 아무 작업에서이 없습니다 모든.

그래서 누구나 양식 작업을 설정하는 방법을 알고 있습니까? 명명 된 경로를 사용하면 완벽 할 수 있지만 작업을 설정하는 것도 좋을 것입니다.

답변

8

명명 된 경로, 컨트롤러 작업 또는 간단한 URL을 사용하여 양식 작업을 설정할 수 있습니다.

라는 이름의 경로 사용을 통해를 설정하려면 :

{{ Form::open(array('action' => array('[email protected]', $client->id))) }} 

그래서 키워드 action이 양식에 '행동'매개 변수를 reffer하지 않습니다

{{ Form::open(array('route' => array('route_name', $client->id))) }} 

이 컨트롤러 액션의 사용을 통해를 설정하려면 태그가 아니라 컨트롤러 동작

및 plai n URL은 다음과 같습니다 :

{{ Form::open(array('url' => 'someurl')) }} 
+0

글쎄, 그게 효과가있는 것 같습니다. 감사! – Crinsane

+0

양식 작업 자체는 무엇으로 설정해야합니까? – Damon

+0

기본 경로는 routes.php에 이름이 지정되어 있는지 확인하십시오. {{Form :: open (array ('route'=> 'route_name'))}} – Jazzy

1

@jeffrey_way Laravel 4의 새로운 FormBuilder 개선에 대한 tweeted. 다음 붙여 넣기 버킷 링크가 도움이 될 것입니다. 그것은 RESTful 컨트롤러에 대해 더 많은 것 같지만 relavant.

Form action sensible defaults - paste bucket

은 내가 그를 튜토리얼 내일 양식에 나오는 대해 뭔가를 읽을 생각했다. 그렇다면 여기에서 찾을 수 있습니다 net.tutsplus.com/?s=laravel