あなたは間違いを犯しておらず、ヘルパーを作成することで、一般的なことを行うために必要なコードの量を減らすことができます。これは、テストと組織化に最適です.
私が持っている 1 つの提案は、セットアップを変更し、コードを表示する共有パーシャルを作成して、管理しやすくすることです。次に、ヘルパー メソッドで引数を部分関数呼び出しにプロキシします。
最初にパーシャルをセットアップします (shared/_flash_messages.html.erb として保存します):
<div class="flash-messages">
<% if messages && messages.length > 0 %>
<% messages.each do |key, message| %>
<div id="<%= key %>" class="flash"><%= message %></div>
<% end %>
<% else %>
No Messages to display
<% end %>
</div>
次に、ヘルパー メソッドをセットアップします。
def register_flash_message(key,message)
flash[key]=message
end
def display_flash_messages()
render 'shared/flash_messages', :messages => flash
end
これにより、保守とカスタマイズがはるかに簡単になります。すべてがパーシャル内に格納されるため、Ruby 内で HTML を作成する必要もありません。