我想爲我的創建和更新表單使用相同的表單代碼。我使用從Laravel的Form助手在後的葉片功能:Laravel/Blade - 是否可以將變量回顯到函數的參數中?
{!! Form::model($MyObject, ['action' => '{{ $action }}']) !!}
如果你看到我呼應{{ $action }}
到action
參數,因此它可以是動態的。但Laravel拋出
ErrorException在UrlGenerator.php行561:
行動應用程序\ HTTP \控制器\ < PHP回聲E($行動); ? >未定義。 (查看:> /path/to/project/folder/resources/views/baz.blade.php)
錯誤,每當我這樣做。如果我嘗試做以下操作:
{!! Form::model($MyObject, ['action' => $action]) !!}
然後輸出的表單標籤是這樣的:
<form method="POST" action="http://mysite.app/mycontroller/%7Bmycontroller%7D" accept-charset="UTF-8">
並提交形式拋出MethodNotAllowed。
這是怎麼我的控制器功能設置:
public function create()
{
$view_data = [
'type' => 'Create',
'action' => '[email protected]',
'my_object' => new MyObject
];
return view('myviews.form', $view_data);
}
public function edit($id)
{
$view_data = [
'type' => 'Edit',
'action' => '[email protected]',
'my_object' => MyObject::find($id)
];
return view('myviews.form', $view_data);
}
但Laravel只是拋出錯誤。我無法找到任何方法將變量傳遞到Blade標記中的參數。這樣的事情可能嗎?
什麼錯誤被拋出? – user3158900
只是出於好奇,爲什麼不會'{!! Form :: model($ MyObject,['action'=> $ action])!!}'工作? – Schlaus
您正在'迴應'數組的價值。您不需要回顯變量以使其變爲動態。 –