我試圖爲此獲得一個解決方案几個小時,我真的不明白爲什麼它不工作。在Laravel視圖中的未定義變量
routes.php文件
Route::get("/user/Session::get('theuser')/charname", array(
'as' => 'profile-character',
'uses' => '[email protected]'
));
ProfileController.php
public function dropDownList() {
$list = Character::lists('char_name', 'char_dynasty');
return View::make('layout.profile')->with('character_options',$list);
}
profile.blade.php
<div class="selected_char">
<form action="{{ URL::route('profile-character') }}" method="get">
{{ Form::select('character', $character_options , Input::old('character')) }}
</form>
</div>
此代碼拋出我的錯誤是,$ character_options是不確定的。我已經閱讀了幾十個例子,像我一樣爲他們工作。也許這是Laravel 3?
您能得到什麼,如果在'下拉列表( )'你做'dd(Character :: lists('char_name','char_dynasty'));'? –
相同的錯誤未定義的變量:character_options –
如果出現該錯誤,則表示控制器方法未被執行,因爲控制器方法中的dd()甚至不允許呈現視圖。因此,也許路由不能按預期工作(這確實解釋了Session :: get()如何在你的路由定義中起作用(它不是!),而是其他一些路由正在打開哪些調用那個配置文件視圖而沒有設置視圖中的'character_options'變量?在命令行上執行'php artisan routes'並查看Laravel *認爲*您的路線是什麼。您可能會感到驚訝! – alexrussell