2013-07-02 98 views
1

我正在使用Laravel中的資源控制器。我想要做的是一個非常簡單的工作流程。使用create函數來顯示的形式使用store功能,節省資源Laravel:資源控制器和驗證

我不明白這是建立一個簡單的環境,這樣,使用驗證正確的方式插入數據 2) 1)。

下面一些問題: 在create功能我展示形式:

return View:make('form'); 

1)凡具有指向表單的動作?我想給store函數。

2)我在哪裏必須執行驗證?在我看來,如果表格指向store我可以在這個函數中執行驗證。如果驗證失敗,我重定向到Create

3)「默認」create函數在輸入中沒有任何參數。我如何重定向到這個函數傳遞錯誤消息?

您對這個工作流程有什麼看法?你如何使用資源控制器?

回答

2

View::make方法只會使您的視圖。在你看來,你需要製作你的表格。您可以在視圖中使用Form::openForm::model方法以及所有其他Form::方法進行輸入。你的控制器應該處理輸入,你的控制器或模型可以保存輸入。

對於#3,不應該有create的任何參數,因爲它是用於新記錄。 showedit,updatedestroy都接受ID參數。

參見:http://laravel.com/docs/controllers#resource-controllers

+0

而你對#3的答案。好的...那麼如何才能在輸入字段中通知創建函數錯誤? – MatterGoal

+1

啊,gotchya。您需要指定表單的操作和方法。例如:'Form :: open(array('url'=>'foo/bar','method'=>'PUT/DELETE/etc'))' - 這將創建'_method'隱藏輸入框,框架知道我們正在做什麼,並最終了解要採取的行動。另外,在你的'Form :: open'裏面,你也可以使用''action'=>'MyController @ action''而不是'url'。 –

+1

對於驗證錯誤,您只需使用驗證器:http://laravel.com/docs/validation - 然後您就可以將錯誤傳遞到您的視圖View :: make('foo') - > withErrors( $驗證)' –