Here is how I display my flash messages using key value.
application_html.erb
<div class="container-fluid">
<% flash.each do |message_type, message| %>
<div class="alert alert-<%= message_type %>" data-turbolinks="false">
<a class="close lay" data-dismiss="alert">×</a>
<% if message.is_a?(String) %>
<div id="flash_<%=message_type%>">
<%= sanitize(message) %>
</div>
<% end %>
</div>
<% end %>
</div>
Now I have in my controller:
def saved
...
respond_to do |format|
format.js
end
end
And in my form:
<%= link_to... remote: true, method: :put %>
Now in my saved.js.erb file, I have the following:
<% if request.put? %>
<% response = current_user.saved_articles.new(article: @article) %>
<% if !response.valid? %>
FLASH SOMETHING HERE
<% else %>
<% response.save %>
FLASH SOMETHING HERE
<% end %>
<% else request.delete? %>
<% current_user.saveds.delete(@article) %>
FLASH SOMETHING HERE
<% end %>
How do I pass notice: "You have saved this article" and notice: "You have unsaved this article" ?