はじめに
ヘルパーメソッドを自分で定義することについて学んだので学習したことをまとめて記述していきます。ヘルパーメソッドを使うメリット
railsでビューファイルに対して行われる処理に関して繰り返して使用するようなメソッドはヘルパーメソッド(ビューファイルに対して使用するモジュール)を自分で定義して使用するとビューファイルの可読性を良くすることができ、また保守などの面から見ても修正しやすくなるメリットがある。メッセージの投稿機能があるWEBアプリケーションでそのメッセージを一覧でメッセージテキストと投稿者を表示したい時などを想定してビューファイルを下記のように作成した場合
ヘルパーメソッド使用前
app/views/messages/index.html.erb
<div class="contents">
<%= @messages.each do |message| %>
<%= message.text %>
<% end %>
</div>
ヘルパーメソッド使用後
app/helpers/messages_helper.rb
module MessagesHelper
def message_lists(messages)
html = ''
messages.each do |message|
html += message.text
end
return raw(html)
end
end
app/views/messages/index.html.erb
<div class="contents">
<%= message_lists(@messages) %>
</div>
このようにヘルパーメソッドを利用することでビューファイルの可読性が良くなり、今回の例だとあまり転用が実用的ではないが、他のビューファイルに同じ処理を埋め込むこともできる。