Web + Life Hack

〜True But Useless〜

【rails】アンカーとvalidateの組み合わせを「初めて」使った。



今日はrailsを使い始めて初めて、
validteとアンカーの組み合わせを利用しました。

そもそもアンカーって?

リンクしたい場所にアンカー(目印)を置いて、
ページ内ジャンプが出来るというものです。
記述方法は

<a href="#アンカー名">

となります。divタグのidでも指定可能です。
これをrailsのvalidateと組み合わせると以下の様な記述になります。

view側
<div id="#g08m11Box" >
  <p><%= flash[:message] %></p>
</div>
controller側
  unless @g08m11.valid?
      flash[:message] = '誤りがあります。'
      return redirect_to request.referer + '#g08m11Box'
   end


今回はスマホ向けに最適化されたページで行いました。
view側が入力フォームの位置が深く(スクロールが多い)、
ただのvalidateで前ページに戻すだけだと


エラー箇所が分かりづらい
スクロールするのが面倒臭い


と、ユーザービリティ低下につながるため、この組み合わせを!
validateを使用している方はぜひ、ご参考に!
ちなみに恥ずかしながら、アンカーの存在を今日知りました。。。