Essayé de faire http://davidwparker.com/2008/09/17/site-wide-announcements-in-rails-using-jquery-jgrowl/JS et Rails annonces à l'échelle du site
Suis vraiment mauvais avec JS. Pensez que je me trompe sur la dernière partie où il est dit "Ce code va dans votre fichier application.js (quelque part dans $ (function) {// ici})"
Je ne suis pas supposé faire un link_to_function et créer une fonction avec ce code qui fait référence à ce lien?
Vraiment perdu sur celui-ci.
Mis à jour -
application.js ressemble
$(document).ready(function() {
$.jGrowl.defaults.closer = true;
$("#announcements_box").css("display", "none");
$("#announcements_box .announcement").each(function(){
$jQuery.jGrowl(this.textContent,{ sticky:true, close:function(e,m,o){hide_announcements();} });
});
});
function hide_announcements(){
$.get(
'/hide_announcements'
);
$("#announcements_box").fadeOut();
return false;
}
Et mon application.html.erb a
<% unless current_announcements.empty? %>
<div id="announcements_box">
<% for announcement in current_announcements %>
<div id="announcement_<%= announcement.id.to_s %>" class="jGrowl">
<%= announcement.message %>
<%= link_to "Hide Annoucements", hide_announcements_path, :id => 'hideAnn'%>
</div>
<% end %>
</div>
<% end %>
c'est ce que je pensais aussi, mais il se cache réellement sur la charge du document (à moins que le "affichage", "aucun" est en arrière). – pcasa