2016-04-25 6 views
1

私はブレードテンプレートを使用していますが、HTML構文ベースのフォームでフォームバインディングを使用する方法はありますか?私は、ブレードのやり方でそれを行うならば、それはlaravelフォームモデルのHTML構文によるバインド

{{ Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'put')) }} ようなものしかし、私たちはcsrf_token()

<input type="hidden" name="_token" value="{{ csrf_token() }}" />

よう

のための隠しフィールドを追加するようにそれを使用したい場合はここに私のHTMLフォームのコードがあるでしょう:

<form class="form-group" action="/update" method="post" id="EditCommunityForm"> 
<input type="hidden" name="_token" value="{{ csrf_token() }}"> 
<input type="text" name="community_name" class="form-control"> 
</form> 

編集:

私は、この構文{{ Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'put')) }}をプレーンなHTMLに変換する方法があるか質問したいと思いますか?

+0

私はかなりの質問を理解しない、しかし、あなたのようなトークンの隠し入力を追加することができます。{!等)を出力するcarf_field()!!} – Adam

+0

私は、この構文を変換する方法があることを聞きたいと思っています '{{Form :: model($ user、array() 'route' => array( 'users.update'、$ user-> id)、 'method' => 'put'))}} 'プレーンHTMLにするには?ありがとう@アダム –

+0

もし私が理解していれば、あなたはcsrfトークンについて心配する必要はありません。 '{{Form :: close()}}'を呼び出すと、自動的にレンダリングされます。 – CarlosCarucce

答えて

1

htmlにモデルバインディングを直接行うことはできません。フォームを「手動で」入力する必要があります。また、あなたの場合、ブラウザのデフォルトメソッド(投稿/取得)を上書きするためのトリックが必要です。

相続人例:

<form action="{{ route('users.update', $user->id) }}" method="post"> 

    <!-- Overwrite post method as 'Put' --> 
    <input type="hidden" name="_method" value="PUT"/> 

    <!-- CSRF token --> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}"> 

    <!-- Fills an input with a model value --> 
    <input type="text" name="community_name" value="{{ $user->community_name }}"/> 

</form> 
関連する問題