Рельсы с турболинками и гармошкой

У меня есть этот аккордеон JQuery UI, который действует как своего рода боковая панель. Я хочу иметь дополнительное действие для события щелчка раздела, и у меня это работает на основе этот ответ SO с:

$(".sidebar_category").click(function(event) {
  // the section contains a span and my anchor; only go when
  // the click is  over the anchor
  if (event.target.href !== undefined) {
    window.location = event.target.href;
  }
});

Теперь ... это работает, но не так, как работает щелчок по другим ссылкам, потому что с помощью турболинков выполняется переключение AJAX, которое я хотел бы эмулировать.

Нужно сказать, что моделирование клика не делает обманывать. Я ожидаю что-то вроде этого:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.3.1.js"></script>
    <script type="text/javascript" src="jquery.form.js"></script>
    <script>
        $(document).ready(function(){
          $('a').bind('click',function(event){
            event.preventDefault();
            $.get(this.href,{},function(response){ 
               $('#response').html(response)
            })  
         })
        });
    </script>
  </head>
<body>
  <li><a href="response.html"/>Response</a>
    <div id="response"></div>
</body>

но рельсовый стиль. Так как же следовать стилю турболинков по ссылке?

PS: мой раздетый гемфайл:

gem 'rails', '4.0.0'
gem 'sqlite3'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'jquery-ui-sass-rails'
gem 'jquery-ui-themes'
gem 'turbolinks'
...

person Nicu Tofan    schedule 24.10.2013    source источник


Ответы (1)


Turbolinks используется для того, чтобы наши приложения отображались быстрее для пользователя, используя JavaScript для замены HTML-тела новых страниц, вместо того, чтобы полагаться на полную загрузку страницы. Код внутри тега head загружается не на всех страницах. Итак, поместите внутрь тега body

<script>
        $(document).ready(function(){
          $('a').bind('click',function(event){
            event.preventDefault();
            $.get(this.href,{},function(response){ 
               $('#response').html(response)
            })  
         })
        });
    </script>
person visnu    schedule 29.10.2013
comment
Да, спасибо, я это понимаю. Я спрашивал о чем-то в стиле рельсов, может быть, о каком-то методе. - person Nicu Tofan; 29.10.2013