Angular を使用して JSON リクエストをコントローラーに送信しています。コントローラーで次のように通知します。
flash[:notice] = "Toon has been tagged"
rabl テンプレートを使用して JSON 応答を返し、次のようなフラッシュ通知コンテンツも含めたい場合:
object @toon
attributes :id, :uuid, :get_tag_string
if flash
node(:flash) do |f|
flash.each do |k, v|
{ :msg => v, :name => k }
end
end
end
attributes :errors
私のAngularコードは応答を処理し、フラッシュ通知の内容を正しく表示します. しかし、ここで問題が発生します。ページが更新されると、レイアウト ビューに次のコードがあるため、フラッシュ メッセージが再び表示されます。
<% flash.each do |key, value| %>
<div class="row-fluid">
<div class="span8 offset1"><%= content_tag(:div, value, class: "alert alert-#{key} center")%></div>
</div>
<% end %>
これを削除するか、コントローラーで after_filter を実行して flash.clear を呼び出すことができます。これを行うより良い方法はありますか?
ありがとう!!