気ままにふりーだむ

学習やメモなどを投稿します。プログラミング仲間や仕事、求人の話は大募集。気軽にフォローやいいねいただけると励みになります!

Rails プログラミング

[Rails]ヘルパーメソッドを作る!

投稿日:

こんにちは!
今回はヘルパーメソッドについてのまとめです。
ヘルパーメソッドを自分で作成してみたいと思います。

それでは早速いってみましょう!

そもそもヘルパーメソッドとは

そもそもヘルパーメソッドなんぞやってことなんですけど、
一言で言うなら「Viewのコードを簡単に書けるようにしてくれるもの」です。

Railsでもともと用意されている便利なものもありますが、
自分で書いたコードで条件分岐などで記載が長くなってしまったものや
使用頻度が高いものはヘルパーメソッドとしてまとめることもできます。

代表的なヘルパーメソッド

<%= link_to%> リンクを簡単に作成できる
<%= form_tag%> formを簡単に作成できる

上記はRailsを触ったことがある方であれば、ご存知ではないでしょうか。

例えば<%= link_to%>はリンクを簡単に作成できるヘルパーメソッドです。
Viewファイル(html.erbファイル)にリンクを追加したいとき、
通常であれば「<a href=””></a>」のように書く必要がありますが、
<%= link_to%>を使うとリンクも簡単に追加できます。

ヘルパーメソッドを作成する

代表的なヘルパーメソッドでも記載したようなRailsでは最初から使用できる
ヘルパーメソッドはたくさんあります。ヘルパーメソッドは自分で作成することも可能です。
というわけで今回は自分でヘルパーメソッドを作成したいと思います。

・ヘルパーメソッドを書くファイル

まずヘルパーメソッドを作成する場所ですが、

「app/helpers/」以下のファイルになります。

複数モデルで使用する場合は、「application_helper.rb」
特定のモデルのみで使用する場合は「(使用するモデル名)_helper.rb」

・「金額に円とつける処理」をヘルパーメソッドで書く

今回は単純に金額の最後に「円」とつける処理をヘルパーメソッドで書いてみます。

各ファイル下記のように書きました。

今回特定モデルのみ(product)使用なので、「products_helper.rb」に
ヘルパーメソッドを書きます。そしてViewファイル(index.html.erb)で
ヘルパーメソッドを呼び出すという感じです。

短いコードであれば特にメリットは感じないですが、これが長くなると
わざわざ書くのは面倒なのでヘルパーメソッドで楽になりそうですね!

-Rails, プログラミング

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

チャットアプリにメッセージの編集と削除ボタンをつける

やりたいこと 現在チャットアプリを作っており、投稿したメッセージの編集と削除を行うために まずはボタンを配置したいと思っています。またそのボタンは常時表示させるのでなく、 該当メッセージにカーソルが当 …

画像アップロードCarrierwaveを導入する

画像アップロードのGem Carrierwaveの導入方法を忘れちゃうので、手順をメモ。 今回は画像リサイズのためmini_magickも導入します Gemfileを設定 それでは早速、下記Gemをイ …

no image

[Rails]deviseのファイル構成

こんばんは。 表題の件について、どのページでみたかは忘れてしまったのですが、 deviseをinstallした時に作成されるファイルの構成をメモのため、 投稿します。参照元がわかったらまた追記させてい …

no image

[Rails]deviseを実装する

こんにちは。 ログイン機能を実装する便利なGem deviseの導入方法をまとめます。 それでは早速はじめます。 まずはGemfileにdeviseを記載します。 [crayon-5d5a9820a9 …

Materializeとsimple_formでシンプルでいい感じのフォームを作りたい!

マテリアルデザイン「Materialize」とフォームの記述がシンプルな「simple_form」の実装をしたので、メモ。 GemfileにGemを記載からのbundle install [crayo …