2

エラーが発生しました:

Some mandatory parameters are missing ("users") to generate a URL for route "users.update".

私は自分のビューにこれを設定しています:

{{ Form::open( array('action' => array('UsersController@update')) )  }}

         <div>  {{ Form::label('username', 'Username:') }}
            {{ Form::text('username', $user->username , array('class' => 'form-control')) }}</div> 

             <div>  {{ Form::label('email', 'Email Address:') }}
            {{ Form::text('email', $user->email , array('class' => 'form-control')) }}</div> 

            <div>  {{ Form::label('new_password', 'New Password:') }}
            {{ Form::text('new_password', '', array('class' => 'form-control')) }} </div> 

             <div>  {{ Form::label('old_password', 'Old Password:') }}
            {{ Form::text('password', '', array('class' => 'form-control')) }} </div>

            {{ Form::submit() }}


{{ Form::close() }}

コントローラーには、更新にリンクされた関数もあります。

public function update() {
        return 'This is an update';
    }

最後に、Artisan コマンドで利用可能なすべてのルートを確認したところ、アップデートには次のルートがあることがわかりました。users/{users}

コードの何が問題になっていますか? ユーザーを更新しようとしていますが、このエラーがスローされます。

4

3 に答える 3

0

アクションを設定しているときでも、そのためのルートが必要な場合があります。コントローラーへの CLEARED DEFINED ルートを常に使用することを強くお勧めします。すべてのゴッドダムルートを定義したくない場合に備えて、リソースコントローラーが役立つかどうかを確認してください(私はしません)。

そして、最後にあなたの質問に答えます:

    {{ Form::open(array('action' => 'UsersController@update')) }}

...あなたの問題を解決するかもしれません。それが役に立てば幸い。私の悪い英語でごめんなさい!:D

于 2013-10-10T11:16:43.617 に答える
0

FORM を開く方法には、ルート パラメータが必要です。パラメータを渡したくない場合は、次を使用してください。

{{ Form::open(array('action' => 'UsersController@update')) }}

それ以外の:

{{ Form::open( array('action' => array('UsersController@update')) )  }}
于 2013-10-10T11:09:18.783 に答える
0

あなたのルートは、変数 $users が渡されることを期待する方法で定義されています。理由:{users}

代わりに、次のように定義する必要があります。

Route::post('users/update', 'UsersController@update');

次に、関数 update() で、次の方法で post 変数を取得します。

$users_data = Input::get();

また

パラメータを保持したい場合は、追加のパラメータを渡してフォームを再定義します。

{{ Form::open( array('action' => array('UsersController@update', $id)) ) }}
于 2013-10-10T11:10:35.443 に答える