Ruby / Rails

ログインフォームをform_withに変更

2019年9月27日

こんにちは、Nanayakuです。

form_forをform_withに変更する時、新規登録フォームや変更フォームの書き方は多くありますが、ログインフォームの書き方が少なかったので説明しようと思います。

新規登録フォームをform_withへ

<%= form_for @user do |f| %>
 <%= f.label :name, '名前' , class: 'text-white' %>
 <%= f.text_field :name, placeholder: "最大15文字です", class: 'form-control' %>

 <%= f.label :email, 'メールアドレス' , class: 'text-white' %>
 <%= f.text_field :email, class: 'form-control' %>

 <%= f.label :password, 'パスワード' , class: 'text-white' %>
 <%= f.password_field :password,placeholder: "アルファベットと数字を", class: 'form-control' %>

 <%= f.label :password_confirmation, 'パスワード(確認)' , class: 'text-white' %>
 <%= f.password_field :password_confirmation,placeholder:"最低1文字使用した8~32文字", class: 'form-control' %>

 <%= f.submit "登録", class: 'btn-block btn-white vertical-btn' %>
<% end %>

 

<%= form_with model: @user,url: users_path, local: true do |form| %>

 <%= form.label :name, '名前' , class: 'text-white'%>
 <%= form.text_field :name, placeholder: "最大15文字です", class: 'form-control' %>

 <%= form.label :email, 'メールアドレス' , class: 'text-white' %>
 <%= form.text_field :email, class: 'form-control' %>

 <%= form.label :password, 'パスワード' , class: 'text-white' %>
 <%= form.password_field :password,placeholder: "アルファベットと数字を", class: 'form-control' %>

 <%= form.label :password_confirmation, 'パスワード(確認)' , class: 'text-white' %>
 <%= form.password_field :password_confirmation,placeholder:"最低1文字使用した8~32文字", class: 'form-control' %>

 <%= form.submit "登録", class: 'btn-block btn-white vertical-btn' %>
<% end %>

 

ログインフォームをform_withへ

<%= form_for :session, url: login_path do |f| %>
 <%= f.label :email, 'メールアドレス' %>
 <%= f.text_field :email %>

 <%= f.label :password, 'パスワード' %>
 <%= f.password_field :password %>

 <%= f.submit "ログインする" %>
<% end %><br>

 

<%= form_with scope: :session, url: login_path, local: true do |form| %>
  <%= form.label :email, 'メールアドレス' %>
  <%= form.text_field :email %>
     
  <%= form.label :password, 'パスワード' %>
  <%= form.password_field :password %>
       
  <%= form.submit "ログインする" %>
<% end %><br>

 

参考サイト

【Ruby】チュートリアルのform_forをform_withで書き換え (おまけ:capybaraでのテスト) - 196Log

連日格闘したform_withとの戦いに決着をつけてきた - Qiita

-Ruby / Rails
-

© 2021 Nanayaku blog Powered by AFFINGER5