ルーティングを作成
Rails.application.routes.draw do
  get '/',              to: 'home#top'
  get '/signup',        to: 'users#new'
  post '/users/create', to: 'users#create'
  get '/login_form',         to: 'users#login'
  get 'users/index',    to: 'users#index'
  get 'users/:id',      to: 'users#show'
end
コントローラを作成
.
.
.
  def login_form
  end
.
.
.
ログインページへリンクを作成
.
.
.
       <li>
         <%= link_to "ログイン", "/login_form" %>
       </li>
.
.
.
ページが表示された。成功。
POSTのリクエストを行えるようにする。
ルーティングを設定する
.
.
.
  post '/login',        to: 'users#login'
.
.
.
コントローラーを作成
.
.
.
  def login
    @user = User.find_by email: params[:email], password: params[:password]
    redirect_to "/users/#{@user.id}"
  end
.
.
.
まずは探すだけにする。
これでメールアドレスとパスワードで探せる。
login_form.html.erbでpostできるようにする
.
.
.
<div>ログインフォーム</div>
  <div>
    <%= form_tag( "/login", method: :post) do  %>
      <p>メールアドレス</p>
      <input name="email">
      <p>パスワード</p>
      <input name="password">
      <input type="submit" value=ログイン>
    <% end %>
  </div>
.
.
.
ログイン成功!
loginアクションの条件分岐
テーブルになかったら再びログインフォームに戻す。
  def login
    @user = User.find_by email: params[:email], password: params[:password]
    if @user
      redirect_to "/users/#{@user.id}"
    else
      render "/login_form"
    end
  end
Template is missing
Missing template /login_form with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :jbuilder]}. Searched in: * "/Users/hyoudoumasatomo/Repos/garden/app/views" * "/Users/hyoudoumasatomo/.rbenv/versions/3.1.1/lib/ruby/gems/3.1.0/gems/actiontext-7.0.2.3/app/views" * "/Users/hyoudoumasatomo/.rbenv/versions/3.1.1/lib/ruby/gems/3.1.0/gems/actionmailbox-7.0.2.3/app/views" Did you mean? users/login_form users/login layouts/rails/conductor users/hogehoge users/index rails/conductor/action_mailbox/inbound_emails/index
.
.
.
  def login
    @user = User.find_by email: params[:email], password: params[:password]
    if @user
      redirect_to "/users/#{@user.id}"
    else
      render "login_form"
    end
  end
.
.
.
renderはパスを書くのではなくてファイル名だったような気がする。
成功!
前に戻ってユーザー情報を編集する
ユーザー情報を編集
まず編集のリンクを作成してルーティングを作成してコントローラを作成
Rails.application.routes.draw do
.
.
.
  get 'users/edit',     to: 'users#edit'
end
編集ページを作成する。
これで編集内容を決める
.
.
.
  <div>ユーザー情報編集</div>
  <div>
    <%= form_tag('/users/create', method: :post) do  %>
      <p>ユーザー名</p>
      <input name="name" value="<%= @user.name %>">
      <p>メールアドレス</p>
      <input name="email" value="<%= @user.email %>">
      <p>パスワード</p>
      <input name="password" value="<%= @user.password %>">
      <input type="submit" value=保存>
    <% end %>
.
.
.
editアクションを作成する
名前とメールアドレスとパスワードを編集する
editページを作成する
.
.
.
  <div>ユーザー情報編集</div>
  <div>
    <%= form_tag('/users/create', method: :post) do  %>
      <p>ユーザー名</p>
      <input name="name" value="<%= @user.name %>">
      <p>メールアドレス</p>
      <input name="email" value="<%= @user.email %>">
      <p>パスワード</p>
      <input name="password" value="<%= @user.password %>">
      <input type="submit" value=保存>
    <% end %>
  </div>
.
.
.
## showページにリンクを作成
.
.
.
  <div>ユーザー紹介</div>
  <div>
    <h5> id: <%= @user.id %> </h5>
    <h2> <%=@user.name %> </h2>
    <%= link_to "編集", "/users/edit" %>
  </div>
.
.
.
これで行くか?
NoMethodError in Users#show
Showing /Users/hyoudoumasatomo/Repos/garden/app/views/users/show.html.erb where line #12 raised:
id: '.freeze;@output_buffer.append=( @user.id );@output_buffer.safe_append='
^^^ showアクションがない ```show.html.erb```の12行目がおかしい。 調べてみる。.
.
.
<div>ユーザー情報編集</div>
  <div>
    <%= form_tag('/users/create', method: :post) do  %>
      <p>ユーザー名</p>
      <input name="name" value="<%= @user.name %>">
      <p>メールアドレス</p>
      <input name="email" value="<%= @user.email %>">
      <p>パスワード</p>
      <input name="password" value="<%= @user.password %>">
      <input type="submit" value=保存>
    <% end %>
  </div>
.
.
.
まだインスタンス変数の設定はしていない。
長くなりすぎたので次のページに書く
