🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

2004閲覧

ユーザーが保存したパスワードがフォームに表示されない。

punchan36

総合スコア105

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2021/01/28 05:30

前提・実現したいこと

パスワードの変更機能を実装しました。データの保存は上手く出来ています。
しかしユーザーがアカウント編集ページに来た際に、保存したパスワードがフォームに表示されません。

ユーザーが設定しているパスワードを文字数分伏字で表示させたいのですが、なぜか空白になってしまいます。メールアドレスはきちんと表示されます。

該当のソースコード

users/setting.html.erb

Rails

1<%= form_tag("/users/#{@user.id}/update_account", {multipart: true}) do %> 2 <ul> 3 <li> 4 <div class="col-1">Email address:</div> 5 <div class="col-2"><input size="40" name="email" value="<%= @user.email %>"></div> 6 </li> 7 <li> 8 <div class="col-1">Password:</div> 9 <div class="col-2"><input size="40" name="password" type="password" value="<%= @user.password %>"></div> 10 </li> 11 <li> 12 <div class="save"><input id="button" type="submit" value="Save" onclick="myfunk()"></div> 13 </li> 14 </ul> 15<% end %>

試したこと

value="<%= @user.password %>"value="<%= @user.password_digest %>"に変えると伏字で表示されるのですが、当然password_digestの長い文字数分表示されるだけです。

password_digestに変えてデータベースに保存してある為、本来のpasswordデータの受け渡しが出来ないと言う状態なのでしょうか…?

補足情報(FW/ツールのバージョンなど)

ruby 2.6.4p104
RubyGems 3.0.3
Rails 5.2.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ユーザーが設定しているパスワードを文字数分伏字で表示させたいのですが

そもそもやるべきではありません。パスワードは不可逆的に記録すべきものです。

投稿2021/01/28 05:37

maisumakun

総合スコア145967

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

punchan36

2021/01/28 05:45

有難うございます。 色々なサイトでよく見かけます「Current password: ●●●●●●(あらかじめ表示)」、「New password: ________(ユーザーが新たに入力)」の様なフォームを私も作ろうと思いました。ここで言う「Current password」の部分に関してなのですが、この伏字の表示に関してもすべきではないのでしょうか?
maisumakun

2021/01/28 05:49

> ここで言う「Current password」の部分に関してなのですが、この伏字の表示に関してもすべきではないのでしょうか? 大半は、それっぽく出しているだけです。パスワードを復元できる方がまずいです。
m.ts10806

2021/01/28 06:42 編集

実値はvalueに入ってないと思います。(それかログイン時にブラウザに自分で保存してるか)
punchan36

2021/01/28 06:45

なるほどです。 色々なサイトで既にパスワードが入力済みになっているケースがありますが、大半は単純にブラウザの設定でそうなっていただけかもしれません…。 いずれにせよ本来あるべきではない機能だと思いましたので、パスワードは無難にユーザーに入力してもらうスタイルにしようと思います。 有難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問