2014-11-03 130 views
1

在求职门户网站工作,所以我到了雇主需要编辑他们发布的工作的一个点,在页面加载它给了我一个错误Route [employers/job/save/Mw==] not defined,请我需要帮助我的截止日期是从现在起3小时!PHP路由未定义laravel

这里是我的代码:

路线:

//Route for Employer's specified Job Editting -> To get ID as argv 
Route::get('employers/job/edit/{id}', '[email protected]'); 

//Route for Employer's to save specified Job after Editting -> To get ID as argv 
Route::post('/employers/job/save/{id}', [ 
    'as' => 'saveJob', 
    'uses' => '[email protected]' 
]); 

查看:

{{ Form::open(['action'=>'employers/job/save/'.base64_encode($jobData->id),'class'=>'full-job-form', 'id'=>'jobForm','role'=>'form']) }} 
    <div class="form-group col-lg-12 col-sm-12 col-md-12"> 
     <label class="sr-only" for="">Job Title</label> 
     <input type="text" class="form-control" 
      name="job_title" placeholder="Job Title" 
      value="{{ $jobData->job_title }}"> 
     <span class="help-block">Eg. Marketing Manager</span> 
    </div> 
+0

你的'雇主/工作/保存/ {id}'路线有一个'/'前缀 - 也许尝试删除? – alexrussell 2014-11-03 09:08:44

+0

哦,我也不认为你可以通过指定整个事物来形成参数化路线 - 你可以这样做(使用你的命名路线):'{{Form :: open(['route'=> ['saveJob' ,base64_encode($ jobData-> id)],'class'=>'form-group'/ * etc. * /])' – alexrussell 2014-11-03 09:13:07

+0

@alexrussell删除了前缀,结果仍然相同,谢谢 – 2014-11-03 09:16:54

回答

1

你的问题是,你正在使用的action参数为您Form::open()电话。这预计,控制器方法的名称(例如,{{ Form::open(['action' => '[email protected]']) }}如果你要链接到预先生成的URL使用url参数:

{{ Form::open(['url' => 'employers/job/save/'.base64_encode($jobData->id)]) }} 

这就是说,这是不是最好的做法,因为,如果你改变路由系统,你现在必须改变所有这些硬编码的URL,因此,你应该依靠命名路由或控制器动作。

现在,你的路线已经被命名为('as' => 'saveJob'),所以你其实应该使用Form::open()route参数:

{{ Form::open(['route' => ['saveJob', base64_encode($jobData->id)]]) }} 

或者,你可以使用action参数为你正在尝试做的(虽然是错误地):

{{ Form::open(['action' => ['[email protected]', base64_encode($jobData->id)]]) }} 

更多信息请参见the docs on forms


而且,@TheShiftExchange说,它是一个有点奇怪使用基本64位编码的ID是,为什么不直接使用原始ID?

+0

感谢很多已修复错误,现在我有另一个问题 – 2014-11-03 09:38:52

+0

非常感谢@alexrusell,我真的很感激! – 2014-11-03 13:27:19

+0

没问题 - 如果它回答了您的问题,您应该将其标记为答案,以便其他人在未来发现问题时知道它的工作原理。 – alexrussell 2014-11-03 15:07:13