私は2つの提出ボタンの質問が以前に尋ねられたことを知っています、私はコーディングの例に従おうとしましたが、それは私のために働いていませんでした。Laravel 4 2つの送信ボタン
2つのボタンを持つフォームがあります(プレビュー&保存) 保存ボタンは、データをDBに保存するためのボタンです。 プレビューボタンは入力されたデータをビューに表示するためのもので、ユーザーは戻ることができます。すべてが正常であれば、データを保存できます。
どのボタンをクリックしても、空白のページで終わることがあります。http://localhost:8888/laravel4/public/backend/menubuilder/5 @weicheメソッドが正常に動作しているようです。
しかし私は運がありません。
私のフォームに提出:
{{ Form::open(array('url' => 'backend/menubuilder/'.$id, 'method' => 'POST'))}}
私のルートは
Route::post('backend/menubuilder/{id}', array('uses' =>'[email protected]'));
Route::resource('backend/menubuilder', 'MenuBuilderController');
私のコントローラがあるさ:
public function weiche($id) {
//check which submit was clicked on
if(Input::get('save')) {
$this->update($id); //if login then use this method
} elseif(Input::get('preview')) {
$this->preview($id); //if register then use this method
}
}
public function preview($id)
{
//Wenn angemeldeter Benutzer gleich aufgerufener id -> Anzeigen des dashboards für den entsprechenden User
$user = User::find($id);
$owner = (Auth::id() === (int) $id);
return View::make('backend/menubuilder/templatesview/tempone')->withUser($user)->withOwner($owner);
}
public function update($id)
{
//Aktualisieren der User Profile
$rules = array(
// 'username' => 'unique:users',
'password' => 'min:6'
);
$validator = Validator::make(Input::all(), $rules);
//Wenn Prüfung fehlgeschlagen, Weiterleitung mit Fehlermeldung
if ($validator->fails())
return Redirect::to('backend/menubuilder/'.$id.'/edit')->withInput()->withErrors($validator->messages());
$user = User::find($id);
//Wenn Eingabefeld ausgefüllt wird, aktualisere den bestehenden Wert mit dem eingegeben Wert
$user->gericht_1_mo = Input::get('gericht_1_mo');
$user->gericht_2_mo = Input::get('gericht_2_mo');
$user->preis_1_mo = Input::get('preis_1_mo');
$user->preis_2_mo = Input::get('preis_2_mo');
if(Input::has('password')) $user->password = Hash::make(Input::get('password'));
$user ->save();
Session::flash('message', 'Deine Wochendkarte wurde gespeichert');
//return Redirect::to('backend/menuebuilder'.$id);
return Redirect::back()->withMessage('Wochendkarte gespeichert!');
}
完了!ありがとうございます。それはとても簡単かもしれません! –
問題なし、うれしいことに助けてくれました。 :) –
ジョエル、一番最後のもの。新しいタブ/ウィンドウでプレビューを開く方法私は{Form :: submit( 'preview'、['name' => 'preview'、 'target' => '_blank'])}}}これでうまくいきませんでした –