Railsビューヘルパー厳選!初心者でも使えるlink_to・image_tag・number_to_currency活用集
生徒
「Railsのビューって、HTMLだけじゃなくて何か特別な命令も書けるんですか?」
先生
「はい、Railsには“ビューヘルパー”という便利な命令がたくさん用意されているんですよ。」
生徒
「どんなものがあるんですか?使い方も気になります!」
先生
「それでは、Railsでよく使われるビューヘルパーを厳選して、分かりやすく説明していきましょう。」
1. ビューヘルパーとは?
Railsのビューヘルパーとは、HTMLを簡単に生成するための便利な命令です。Railsではlink_toやimage_tagなどのメソッドを使うことで、タグを手書きすることなく安全かつ効率的にページを作成できます。
たとえば、aタグやimgタグを自動で出力したり、数字を通貨形式に変換したりできます。
2. link_to:リンクを作る
link_toは、リンク(aタグ)を生成するためのヘルパーです。
<%= link_to "トップページ", root_path %>
このように書くと、以下のHTMLが自動で生成されます:
<a href="/">トップページ</a>
HTMLを手書きしなくても、RailsがURLも文字列も安全に処理してくれるので初心者にも安心です。
3. image_tag:画像を表示
image_tagは、画像を表示するためのimgタグを作るヘルパーです。
<%= image_tag "logo.png", alt: "ロゴ画像", class: "logo" %>
出力結果:
<img src="/assets/logo.png" alt="ロゴ画像" class="logo">
画像はapp/assets/imagesフォルダに保存します。altは画像が表示されないときの代替テキストで、SEOにも効果的です。
4. number_to_currency:通貨表記に変換
number_to_currencyは、金額を見やすい「通貨表記」に変換するヘルパーです。
<%= number_to_currency(1200) %>
¥1,200
unit: "円", delimiter: ",", precision: 0などで細かい指定も可能です。
5. よく使うビューヘルパー50選(抜粋)
Railsには他にもたくさんのビューヘルパーがあります。代表的なものを目的別に分類して紹介します。
【リンク関連】
link_to:リンク作成link_to_if:条件付きリンクlink_to_unless:逆条件リンク
【画像・メディア】
image_tag:画像表示audio_tag:音声再生video_tag:動画再生
【文字・テキスト整形】
truncate:文字の切り取りsimple_format:改行付きテキスト整形highlight:文字の強調
【数値フォーマット】
number_to_currency:通貨形式number_to_percentage:パーセント形式number_with_delimiter:3桁区切り
【日付と時間】
time_ago_in_words:「〇分前」形式distance_of_time_in_words:時間差l:ローカライズ表示
【フォーム関連】
form_with:フォーム全体label_tag:ラベルtext_field_tag:テキスト入力欄submit_tag:送信ボタン
【パス・URL生成】
url_for:パスやURLを生成path_to_image:画像のパスを取得asset_path:CSSやJSのパス取得
【条件付き出力】
content_tag:任意タグ出力tag:HTMLタグを生成capture:ブロックを変数に代入
6. ビューヘルパーを使うメリット
ビューヘルパーを使うと、HTMLを直接書くよりも安全で、見た目が整ったコードになります。
- XSS(クロスサイトスクリプティング)対策が自動でされる
- 見た目が統一され、保守が楽になる
- 短いコードで、より多くの処理ができる
特に初心者にとっては、「失敗しにくい」設計になっているのがありがたいポイントです。
7. 独自ヘルパーも定義できる
Railsでは、必要に応じてオリジナルのビューヘルパーを自作することもできます。共通処理を関数化して、複数のビューで使い回せるようになります。
自作ヘルパーはapp/helpersフォルダに定義して、moduleとして作成します。