f.hiddel_fieldを使ったテストユーザーログイン機能


サンプルアプリを覗いた時、正直ユーザーの新規作成 → ログインはちょっと面倒...
というわけで、以前作成したオリジナルアプリにテストユーザーとしてポチッとログインできる機能を追加しました。


オリジナルアプリはこちらです。
MemoMa
https://memoma-yyc.herokuapp.com/

過去記事
初めてのオリジナルWebサービス

結論

users/new.html.erb
<%= form_for(:session, url: login_path) do |f| %>
    <%= f.hidden_field :email, value: 'テストログイン用email' %>
    <%= f.hidden_field :password, value: 'テストログイン用password' %>
    <%= f.submit 'テストログイン', class: 'btn btn-default' %>
<% end %>

これだけです。

f.hidden_fieldで隠しフィールドを生成できます。

テストログイン用emailテストログイン用passwordに、テストログインユーザーとして登録した emila とpassword を入力してください。

入力する際はvalue:で指定します。

装飾

ちょっと見た目がわかりにくいので説明を追加。

users/new.html.erb
<%= form_for(:session, url: login_path) do |f| %>
      <div class="test-user">
        <i class="fas fa-user"></i>
        <p>テストユーザーとしてログインできます</p>
        <p>⬇︎</p>
        <%= f.hidden_field :email, value: 'test@example.com' %>
        <%= f.hidden_field :password, value: '123456' %>
        <%= f.submit 'テストログイン', class: 'btn btn-default' %>
      </div>
<% end %>

ログインページ

いきなりログインページに行く人もいるかもしれないので、一応ログインページにも同じものを追加。

動作確認

できました!!
最後までお読みいただきありがとうございました(_ _)

参考サイト

Railsドキュメント:hidden_field