2011年02月16日

[Rails3.0] Devise ではパスワード自動入力されると不便

Deviseでユーザ認証の仕組みを作っています。PCサイトでも携帯サイトでも簡単に動いてとても便利なのですが、細かいところで調整したくなることがあります。

アカウントの登録内容を変更するとき、

<%= f.password_field :password %>
<%= f.password_field :password_confirmation %>
<%= f.password_field :current_password %>


と3つのフォームが用意され、パスワードを変更しないときは current_password だけ入力、パスワードを変更したいときは全部入力、ということになっているようですね。

しかし、ブラウザの自動入力をONにしていると、一つ目の password に自動的に入力されてしまう可能性があります。 FireFox では毎回そうなってしまっていました。すると、パスワードを変更しない場合は、 password の内容を消して current_password に入力し直し、ということになります。面倒です。

しかたがないので、ページを開いた直後に JavaScript で password の内容を消す、という処理を入れました。 jQuery 版です。JavaScriptを使わない、もっといい方法があるといいのですが。

<script type="text/javascript">
//<![CDATA[
$(function(){
  $("#user_password").val('');
});
//]]>
</script>

細かいことですけど、こういう細かい調整の積み重ねが全体の使い勝手に影響してきますよね。

と,さっき書いたのですが、今気がつきました。

<%= f.password_field :current_password %>
<%= f.password_field :password %>
<%= f.password_field :password_confirmation %>


と順番を変えたら、なんと current_password に自動入力されるようになって、便利になりました。
そうか... いろいろ試さないと気がつきませんねぇ。
posted by 急いでジャンプ at 13:53| Comment(0) | TrackBack(0) | Web開発 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。