【问题标题】:laravel 4 Controller Route Errorslaravel 4 控制器路由错误
【发布时间】:2015-01-15 07:01:29
【问题描述】:

我对 Laravel 世界很陌生,探索这个框架非常有趣,但在我的旅程中,我遇到了这个问题。

路线

Route::controller('rooms', 'RoomsController');

控制器方法

public function postUpdate($id){
    $validator = Validator::make(Input::all(), Room::$rules);
    $room = Room::find($id);
    if($validator->passes()){
        $room->name = Input::get('name');
        $room->description = Input::get('description');
        $room->facilities = Input::get('facilities');
        $room->info = Input::get('info');
        $room->price = Input::get('price');
        $room->beds = Input::get('beds');
        $room->no_of_rooms = Input::get('no_of_rooms');
        $room->hotel_id = Input::get('hotel_id');
        $room->save();
        return Redirect::to('hotels/view/'.$room->hotel_id)
        ->with('message', 'Room Created');
    }
    return Redirect::back()
    ->with('message', 'Something went Wrong')
    ->withErrors($validator)
    ->withInput();
}

我的问题是打开表单。那么谁能帮我解决这个问题

编辑视图

{{ Form::model($room,array('route' => array('rooms.update', $room->id), 'method' => 'PUT', 'files'=>true)) }}   

我在edit.blade.php 收到此错误

路线 [rooms.update] 未定义。 (查看:C:\wamp\www\HotelBookingApp\app\views\rooms\edit.blade.php)

【问题讨论】:

    标签: laravel laravel-4 laravel-routing


    【解决方案1】:

    因为您使用控制器作为路由机制。请尝试以下操作:

    {{ Form::model($room,array('action' => array('RoomsController@postUpdate',$room->id), 'method' => 'PUT',      'files'=>true)) }}   
    

    【讨论】:

    • 我之前尝试过这段代码,但我得到 Controller method not found 错误。那么还有其他建议吗?
    • 在你的路由中使用这个 Route::resource("rooms","RoomsController");控制器太模糊了。让我知道这是否能解决问题。
    • Route::controller() 无法实现;对我来说......所以我使用了 Route::resource();就像你说的和它的工作......但我仍然想知道使用 Route::controller(); 的可能方法;
    • 另一种可能的方法是在路由中使用控制器的名称,例如 Route::post('postUpdate','RoomsController@postUpdate') 在路由中而不是控制器。
    猜你喜欢
    • 1970-01-01
    • 2016-07-23
    • 2015-09-26
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 2014-06-23
    • 2013-08-20
    相关资源
    最近更新 更多