JS и Rails обширные объявления на сайте - PullRequest
0 голосов
/ 12 июня 2010

Пробовал делать http://davidwparker.com/2008/09/17/site-wide-announcements-in-rails-using-jquery-jgrowl/

Мне действительно плохо с JS. Думаю, я напутал в последней части, где говорится: «Этот код находится в вашем файле application.js (где-то в $ (function) {// here})»

Разве я не должен создавать функцию link_to_function и создавать функцию с этим кодом, которая ссылается на эту ссылку?

Действительно потерян на этом.

Обновлено -

application.js выглядит как

$(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;
  }

А у моего application.html.erb

<% 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 %>

Ответы [ 2 ]

0 голосов
/ 13 июня 2010

И виновником было то, что я ввел идентификатор div только тогда, когда мне нужно было указать идентификатор div и класс.

0 голосов
/ 13 июня 2010

Я не уверен, что означает запись $(function){ //here }, которая должна выдавать ошибку в браузере, но я думаю, что он просто хочет выполнить код после загрузки страницы:

$(document).ready(function() {
    // here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...