layouts/application.html.erb
<% if flash[:notice] %> <p class="notice"><%=h flash[:notice] %></p> <% end %>
controllers/xxxxxx.rb
# リダイレクト先で表示したいメッセージをセット flash[:notice] = "処理が完了しました。" # リダイレクト先を指定 format.html { redirect_to :controller => "xxxxxx", :action => "index" }
こんな感じにすればおk。
application.html.erbにしたのはメッセージ出力部分を汎用化する為なので、特定ページに出力する場合はもちろんそれぞれのビューに記述すればいい。
ちなみに
<% if flash[:error] %> <p class="error"><%=h flash[:error] %></p> <% elsif flash[:caution] %> <p class="caution"><%=h flash[:caution] %></p> <% elsif flash[:notice] %> <p class="notice"><%=h flash[:notice] %></p> <% end %>
という感じで書けば、当たり前だけどflash[:error]/flash[:caution]/flash[:notice]のいずれかが出力される。
CSSで
.notice, .caution, .error { color: #fff; padding: 4px 10px; margin-bottom: 10px; } /* あお */ .notice { background-color: #4682b4; } /* きいろ */ .caution { background-color: #ef9500; } /* あか */ .error { background-color: #B43530; }
としておけば、出力レベルによって表示色切り替えなんかできるので分かりやすくなるかな。