【发布时间】:2016-11-25 21:45:04
【问题描述】:
在加载我的网页时,我不断遇到问题(路径未定义)。
这是我的路线(主要关注底部2条路线:
Route::group(['middleware' => ['web']], function()
{
Route::get('/', function ()
{
return view('welcome');
})->name('home');
Route::post('/signup', [
'uses' => 'UserController@postSignUp',
'as' => 'signup'
]);
Route::post('/signin', [
'uses' => 'UserController@postSignIn',
'as' => 'signin'
]);
Route::get('logout', [
'uses' => 'UserController@getLogout',
'as' => 'logout'
]);
Route::get('profile', [
'uses' => 'UserController@profile',
'as' => 'profile'
]);
Route::post('profile', [
'uses' => 'UserController@updateAvatar',
'as' => 'profile'
]);
Route::group(['middleware' => ['auth']], function()
{
Route::get('/dashboard',[
'uses' => 'UserController@getDashboard',
'as' => 'dashboard',
'middleware' => 'auth'
]);
});
Route::get('charities', [
'uses' => 'UserController@charities',
'as' => 'charities'
]);
Route::resource('charities','charityController');
});
由于它们具有相同的名称,我认为这可能会导致错误,但我不太确定。
用户控制器:
<?php
namespace App\HTTP\Controllers;
use App\User;
use Illuminate\HTTP\Request;
use Illuminate\Support\Facades\Auth;
use Image;
use Input;
class UserController extends Controller
{
public function getDashboard()
{
return view('dashboard');
}
public function postSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'name' => 'required|max:100',
'password' => 'required|min:4'
]);
$email = $request['email'];
$name = $request['name'];
$password = bcrypt($request['password']); //bcrypt = hash password
$user = new user();
$user->email = $email;
$user->name = $name;
$user->password = $password;
$user->save();
Auth::login($user);
return redirect()-> route('dashboard');
}
public function postSignIn(Request $request)
{
$this->validate($request, [
'email' => 'required|',
'password' => 'required'
]);
if (Auth::attempt(['email' => $request['email'], 'password' => $request['password']]))
{
return redirect()->route('dashboard');
}
return redirect()->back();
}
public function getLogOut()
{
Auth::logout();
return redirect()->route('home');
}
public function profile()
{
return view('profile', array('user' => Auth::user()));
}
public function updateAvatar(Request $request)
{
if($request->hasFile('avatar'))
{
$avatar = $request->file('avatar');
$filename = time(). '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->resize(300,300)->save( public_path('/uploads/avatar/' . $filename) );
$user = Auth::user();
$user->avatar = $filename;
$user->save();
}
return view('profile', array('user' => Auth::user()));
}
public function charities()
{
return view('charities');
}
}
?>
CharityController 包含以下函数:
public function index()
{
$charities = charities::all();
return view('charities', ['charities' => $charities]);
}
这是慈善页面的链接:
<a href="{{ route('charities') }}"> Charities </a> </li>
这是我在对数据库中的慈善机构进行迭代时使用的变量:
@foreach ($charities as $charity)
我看到的错误是:
路线 [慈善机构] 未定义。 (看法: C:\wamp64\www\webproject\resources\views\profile.blade.php)
当我从路线中注释掉这一行时:
Route::resource('charities','charityController');
然后错误消失,个人资料页面正常工作,反之亦然。
【问题讨论】:
-
我的回答对你有帮助吗?
标签: php laravel laravel-5.3