laravelのログイン機能を設置するためにphp artisan make:authコマンドとphp artisan make:authコマンドを使用しました。
ログイン画面は標示されるのですが、ページ上部のナビゲーションバーに標示されるはずの、home,login,registerのリンクが標示されません。
本の図では上部の灰色の枠内に標示されているのですが・・・
使用している本にbladeファイル等の設定が必要だとは書かれておらず、他にもサイト等で調べた際もそのような操作を行っているものはありませんでした。
そのため、ビューのauthフォルダの中身はなにも触っておりません。
firefoxとchromeで確認致しましたが、各々同じ結果でした。
ビューなどに何か設定が必要なのでしょうか。
よろしくお願いします。
以下に継承元となるブレードファイル及びコントローラのコード。
oho
1<!DOCTYPE html> 2<html lang="en"> 3 <head> 4 <title>Book List</title> 5 <!-- CSS と JavaScript --> 6 7 <!-- Latest compiled and minified CSS --> 8 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> 9 10 <!-- Optional theme --> 11 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> 12 13 <!-- Latest compiled and minified JavaScript --> 14 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> 15 </head> 16 <body> 17 <div class="container"> 18 <nav class="navbar navbar-default"> 19 <!-- ナビバーの 内容 --> 20 </nav> 21 </div> 22 @yield('content') 23 </body> 24</html>
php
1<?php 2namespace App\Http\Controllers; 3use Illuminate\Http\Request; 4 5 6//使うClassを宣言:自分で追加 7use App\Book; //BooksController内で使用するため 8use Validator; //BooksController内で使用するため 9 10 11class BooksController extends Controller 12{ 13 public function __construct() 14 { 15 $this->middleware('auth'); 16 } 17 18 //本ダッシュボード表示 19 public function index() 20 { 21 $books = Book::where('user_id',Auth::user()->id) 22 ->orderBy('created_at', 'asc') 23 ->paginate(3); 24 $auths = Auth::user(); 25 return view('books', [ 26 'books' => $books, 27 'auths' => $auths 28 ]); 29 } 30 31 //更新画面 32 public function edit(Book $books) 33 { 34 return view('booksedit', [ 35 'book' => $books 36 ]); 37 } 38 39 //更新 40 public function update(Request $request) { 41 //バリデーション 42 $validator = Validator::make($request->all(), [ 43 'id' => 'required', 44 'item_name' => 'required|min:3|max:255', 45 'item_number' => 'required|min:1|max:3', 46 'item_amount' => 'required|max:6', 47 'published' => 'required', 48 ]); 49 //バリデーション:エラー 50 if ($validator->fails()) { 51 return redirect('/') 52 ->withInput() 53 ->withErrors($validator); 54 } 55 $books = Book::where('user_id',Auth::user()->id)->find($request->id); 56 $books->item_name = $request->item_name; 57 $books->item_number = $request->item_number; 58 $books->item_amount = $request->item_amount; 59 $books->published = $request->published; 60 $books->save(); 61 return redirect('/'); 62 } 63 64 //登録 65 public function store(Request $request) { 66 //バリデーション 67 $validator = Validator::make($request->all(), [ 68 'item_name' => 'required|min:3|max:255', 69 'item_number' => 'required|min:1|max:3', 70 'item_amount' => 'required|max:6', 71 'published' => 'required', 72 ]); 73 //バリデーション:エラー 74 if ($validator->fails()) { 75 return redirect('/') 76 ->withInput() 77 ->withErrors($validator); 78 } 79 // 本作成処理... 80 $books = new Book; 81 $books->user_id = Auth::user()->id; 82 $books->item_name = $request->item_name; 83 $books->item_number = $request->item_number; 84 $books->item_amount = $request->item_amount; 85 $books->published = $request->published; 86 $books->save(); 87 return redirect('/'); 88 } 89 90 //削除処理 91 public function destroy(Books $book) 92 { 93 $book->delete(); 94 return redirect('/'); 95 } 96 97}
おそらくリンクを記述しそうな場所には <!-- ナビバーの 内容 --> としか書かれていませんが、これは?大事なところ・必要なところを省略してしまうと混乱のもととなりますので、基本的に省略せずに全て提示してください。もし省略するのであればその旨記載してください。
説明不足でした。本の内容にはnavタグ内に<!-- ナビバーの 内容 -->以外の記述が存在しなく、サンプルコードも同様でした。コードの内容につきまして、省略はありません。
それで出ないのは当然です。何も書いてないわけですし。自身でそのリンクを書く必要がありますよ。Laravelの問題ではなくhtmlの問題です。本の問題でもないですね。
回答1件
あなたの回答
tips
プレビュー