我正在使用laravel 4.我有一个显示“cars”表数据的表格。我想点击其中一个汽车的名称,并在新页面中显示有关该车辆的所有信息。我这样做了:
index.blade.php
@foreach ($cars as $car)
<tr>
<td>
{{ HTML::link('/desc', $car->Description, array('id' => 'linkid'), true) }}</td>
{{ Form::open(array('action' => 'CarController@showDesc', $car->id)) }}
{{ Form::hidden('id', $car->id) }}
{{ Form::close() }}
<td>
{{ $car->License }}</td>
<td>{{ $car->Make }}</td>
<td>{{ $car->status }}</td>
</tr>
@endforeach
CarController.php
public function index() {
$cars = Car::all();
return View::make('pages.index', compact('cars'));
}
public function showDesc() {
$description = //here want to get name, year, color from "cars" where id = POST['id']
return View::make('pages.description', compact('description'));
}
//页面描述是新页面,它将显示有关该特定车辆的所有信息,
routes.php文件
Route::resource('cars', 'CarController');
Route::post('desc', array('uses' => 'CarController@showDesc'));
问题是浏览器显示:此网页不可用
答案 0 :(得分:0)
在您的视图中,您有一个指向“/ description”的链接,在routes.php文件中,您没有指向该链接的路径
答案 1 :(得分:0)
你正在使用Route::resource('cars', 'CarController');
这将创建访问你的控制器的宁静路线,在汽车控制器中你应该有像index(),show($ id),destroy($ id)这样的函数。
要查看有效路由是什么,请在项目目录中运行php artisan routes
。
如果你想遵循你想要做的宁静模式,我想通过使用资源路线。确保你的CarController中有show($id)
函数。到该功能的路线是cars/{$id}
,因此在您的视图中建立到此路线的链接:
{{link_to_action('CarsController@show', $car->Description, $car->id)}}
我希望这能解决问题