簡體   English   中英

Laravel3:如何將post方法轉發給控制器的動作?

[英]Laravel3: How can I forward post methods to action of controller?

Route::get('admin/user/add', function()
{
    if (!Input::has('submit'))
        return View::make('theme-admin.user_add');
    else
        Redirect::to('admin@user_add_process');
});

admin/user/add正常GET request顯示了注冊表單。 但是,當提交表單時,我必須將其重定向到Admin controller action_user_add_process()函數,以便我可以將值保存到數據庫。

上面的解決方案不起作用,我得到了404。

我稱之為表格動作:

action="{{ URL::to('admin/user/add') }}">

我該如何解決這個問題?

PS。 如果有更短的方法來實現這一點,請告訴我!

您需要使用Redirect的to_action()方法指定要重定向到控制器操作。

return Redirect::to_action('admin@user_add_process');

或者,您可以使用此URL甚至不使用您創建的路徑,使if / else無關緊要。

{{ URL::to_action('admin@user_add_process') }}

第三點,保持路線清潔使維護更容易前進。 路線使用寧靜的方法,利用它。 使用相同的URL,您可以創建並返回帶有GET請求的視圖,並使用POST請求提交表單。

Route::get('admin/user/add', function() { ... }

Route::post('admin/user/add', function() { ... }

您還可以讓路由自動使用這樣的控制器操作:

Route::post('admin/user/add', 'admin@user_add_process');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM