スクリーンショット_2020-02-21_11

Ruby on Rails 入門3

前回長かったーから少し短めにしようと思う。今回はログインしてるよ!ってのをわかるようにしていこうかなと。よくあるよね画面の端っこにユーザー名とかでてるやつ。↓前回のやつ

完成系

http://localhost:3000/home

スクリーンショット 2020-02-21 11.20.00

app/views/layouts/application.html.erb

ソース貼り付けるとなぜか2階層目のインデントがスペース1つになってしまう。。。すみません。

全ページに使用するものはapplication.html.erbに記述するのでここを修正します。

<!DOCTYPE html>
<html>
 <head>
   <title>RailsApp</title>
   <%= csrf_meta_tags %>
   <%= csp_meta_tag %>

   <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
   <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
 </head>
 <!-- 追加 START -->
 <header id="header" class="">
   <div class="container">
     <a href="/" title="TOP" class="top">TOP</a>
     <nav>
       <ul>
         <!-- ログイン判定 -->
         <% if user_signed_in? %>
           <li>
             <!-- リンク先のurlに飛んでもエラーになるけど、一応設定しておく -->
             <a href="/user/1" title=""><%= current_user.email %></a>
           </li>
         <% end %>
       </ul>
     </nav>
   </div>
 </header>
 <!-- 追加 END -->
 <body>
   <%= yield %>
 </body>
</html>

拡張子の変更

[.css] を [.scss] に変更。cssは見た目を整えたり装飾したりするものでscssにすると、記述量が減るので便利って感じ

$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss

app/assets/stylesheets/application.scss

/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
* vendor/assets/stylesheets directory can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
* files in this directory. Styles in this file should be added after the last require_* statement.
* It is generally better to create a new file per style scope.
*
*= require_tree .
*= require_self
*/

/*ブラウザごとに自動で設定されてしまうcssを無効化*/
* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}
header {
 height: 70px;
 background-color: #00bfff;
 color: #FFFFFF;
 .container {
   width: 1024px;
   margin: 0 auto;
 }
 a, a:visited {
   color: #FFFFFF;
 }
 .top {
   /*navメニューを横に回り込ませる*/
   float: left;
   display: inline-block;
   line-height: 70px;
 }
 nav {
   ul {
     /* 点をけす */
     list-style: none;
     /*右寄せ*/
     float: right;
     li {
       /*横並び*/
       display: inline-block;
       line-height: 70px;
     }
   }
 }
}

コードを書いていて思ったけど、ソース見づらい気がするんだが大丈夫だろうか?

今回はこんな感じで終了しようかな。次回はユーザー編集画面でも作ろうかなと思います。

Git作業

コミットするの忘れずに

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
 (use "git add/rm <file>..." to update what will be committed)
 (use "git checkout -- <file>..." to discard changes in working directory)

	deleted:    app/assets/stylesheets/application.css
	modified:   app/views/layouts/application.html.erb

Untracked files:
 (use "git add <file>..." to include in what will be committed)

	app/assets/stylesheets/application.scss

no changes added to commit (use "git add" and/or "git commit -a")
$ git add .
$ git commit -m "update: header menu"
[master c6b833a] update: header menu
3 files changed, 71 insertions(+), 16 deletions(-)
delete mode 100644 app/assets/stylesheets/application.css
create mode 100644 app/assets/stylesheets/application.scss
$ 

次の記事


Slackの招待リンク

独学でやってて質問したい!って方はどーぞ