2
1

More than 3 years have passed since last update.

Railsでワクワク個人開発  第2回:画面遷移図とログイン実装

Posted at

画面遷移図を書こう

 人の記憶は儚いもので、各所に散らされたコードを見てもなんら思い出せることがない。githubのコミット履歴には確実に残っているが、そのときの私の思いはどこにあるのだろう。個人開発の記録を少しずつ記していく。

 画面遷移図を書いた。drawioという便利なソフトがあった。vscodeの拡張機能としても利用できたので大変ありがたい。
 この記事にとても詳しく書かれている。
 https://qiita.com/riku-shiru/items/5ab7c5aecdfea323ec4e

 スクリーンショット 2020-08-11 22.58.06.png
 drawioの操作感はわりと優れている。さっさと好きな絵がかける。githubにも図形がそのまま反映されるといいな。なにか方法があるはずだ。

 とりあえず風呂敷は広げるべきだ。まだ実装できないところもとりあえず書いておく。そうすれば後々いい思い出になるはず。

ログイン機能の実装

 さっそくログイン機能を作ろう。これはdeviseというgemをつかう。Gemfilegem 'devise' を追加してコマンドラインでbundle installを行う。
あとの詳しい設定はこちらの記事にある。
https://qiita.com/salvage0707/items/d3ddc889458ac186e62e

いろいろ書いてあるが、「4, viewファイルの生成」まで行えば問題ない。 (私はモデル作成のコマンドを rails g devise user とした。)

 htmlの表示を変更しよう。app/views/layouts/application.html.erb を変更する。

<!-- 略 -->
   <body>
    <% if user_signed_in? %>
      <%= link_to "ログアウト", destroy_user_session_path, method: :delete %>
    <% else %>
      <%= link_to "ログイン", new_user_session_path %>
      <%= link_to "新規登録", new_user_registration_path %>
    <% end %>
    <%= yield %>
  </body>
<!-- 略 -->

 よく調べていないが、このapplication.html.erbというのは全てのビューファイルの根幹になるものらしい。手打ちでHTMLをやっていたころにフレームページをつくったがそれに似ている。上記の <%= yield %> に各ファイルの内容が表示されるようだ。

 <% if user_signed_in? %> という文を書くことで、ログインしているかどうかで表示を変更できるようにしている。

 link_to記法はよく使われるものなので勉強したい。

<%= link_to 'link', パス名 %>

 linkが表示される文字、パス名に行き先を設定する。パス名はコマンドラインでrails routesとやると現在設定されているパスの一覧が表示されるので、それを参考にして欲しい。

 ↓ rails guideに詳しい記述があった。

おわり

 ちょっとずつ記憶が掘り起こされてきた感がある。これでログイン/ログアウトができるようになったので、ちょっとユーザーのサンプルデータをつくってみよう。seed.rbとかいうファイルに設定すればいい。それが終わったら今度はモデルの関連付けをする。これが曲者だった。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1