BadMethodCallException方法[register]不存在

时间:2014-12-05 16:14:52

标签: php laravel-4

我试图让我的注册页面显示,控制器逻辑似乎没问题,但我一直这样:

  

BadMethodCallException

     

方法[register]不存在。

这是我的控制器逻辑:

<?php

class UserController extends BaseController {

public function register()
{
    if(Sentry::check()){
        return Redirect::to('myaccount');
    }
    return View::make("user.register")->with("title", "Avenue - Register")->with("page_title", "Register");
}   

public function postRegister()
{

    $rules = array(
        'first_name' => 'required',
        'last_name' => 'required',
        'email' => 'required|email|unique:users',
        'password' => 'required|confirmed',
        'password_confirmation' => 'required'
    );

    $input = Input::get();
    $validation = Validator::make($input, $rules);

    if ($validation->fails()) {
        return Redirect::to('register')->with_input()->with_errors($validation);
        }

    $user = Sentry::createUser(array(
        'first_name' => Input::get('first_name'),
        'last_name' => Input::get('last_name'),
        'email' => Input::get('email'),
        'password' => Input::get('password'),
        'metadata' => array(
            'phone' => Input::get('phone'),
            'date-of-birth' => Input::get('date-of-birth'),
            'nationality' => Input::get('nationality'),
            'gender' => Input::get('gender'),
            'category' => Input::get('category'),
        ),

    ));

    Mail::send('emails.welcome', $data, function($message)
    {
    $message->to(Input::get('email'))->subject('Welcome to Avenue254!');
    });
}

public function getLogin()
{
    if(Sentry::check()){
        return Redirect::to('myaccount');
    }
    return View::make("user.login")->with("title","Avenue254 - Login")->with("page_title","Login");
}

public function postLogin()
{
    $rules = array(
    'email' => 'required|email',
    'password' => 'required',
    );

    $input = Input::get();
    $validation = Validator::make($input, $rules);
    if ($validation->fails())
    {
    return Redirect::to_route('login')->with_errors($validation->errors)->with_input();
    }

    $credentials = array( 'email'=> Input::get('email'), 'password'=>Input::get('password') );
    if (Sentry::authenticate($credentials, false))
    {
        return Redirect::to('myaccount');
    }
    else
    {
        return Redirect::to('login')->with("error", "There is problem with login please try again");
    }
}


public function getMyaccount()
{
    if(!Sentry::check()){
    return Redirect::to('login')->with("error", "Please login to access your account");
    }
    $user = Sentry::getUser();
    return View::make("users.myaccount")->with("title","Avenue254" - "My Account")->with("page_title","My Account")->with('user',$user);
}



public function postProfile()
{
    $user = Sentry::getUser();
    $rules = array(
    'email' => 'required|email|unique:users,email,'.$user['id'],
    );

    $input = Input::get();
    $validation = Validator::make($input, $rules);
    if ($validation->fails()) {
        return Redirect::to('myaccount')->with_input()->with_errors($validation);
    }

    $user_data = array(
        'email' => Input::get('email'),
        'metadata' => array(
            'first_name' => Input::get('first_name'),
            'last_name' => Input::get('last_name'),
            'phone' => Input::get('phone'),
            'date-of-birth' => Input::get('date-of-birth'),
        ),
    );

    if ($user->update($user_data))
    {
        return Redirect::to('myaccount')->with('success', 'Your information has been updated successfully.');
    }

    else
    {
        return Redirect::to('myaccount')->with('error', 'Something went wrong!.');
    }
}
}

和我的路线:

Route::get('register', array('as' => 'getregister', 'uses' => 'UserController@
register'));

Route::get('myaccount', array('as' => 'myaccount', 'uses' => 'UserController@
myaccount'));

Route::post('register', array('as' => 'postregister', 'uses' =>
'UserController@postRegister'));

每当我尝试路由到注册时我都会收到此错误,但我尝试了一切都失败了。我能做错什么?

0 个答案:

没有答案
相关问题