Rails 3.1.3 jquery ajax не работает в отдельном файле .js - PullRequest
0 голосов
/ 15 января 2012

Я относительно новичок в Rails. У меня есть следующий код jquery:

    //used in my.html.erb
    $('#category_id').change( function() {
      var theURL = "/requests/byCategory/" + $('#category_id').val()
      $.ajax({url: theURL,
        success: function(data){
         $('#displaySelection').html(data);
        }
      })
    });

Когда я вложил его в тег скрипта в erb, он работает. Когда я перемещаю вышеупомянутый код jquery в app / assets / javascripts / my.js, он не работает. Приложение / assets / javascripts / application.js выглядит следующим образом:

    //= require jquery
    //= require jquery_ujs
    //= require_tree .

Очевидно, я не правильно понимаю конвейер активов. Что я делаю не так?

1 Ответ

2 голосов
/ 15 января 2012

Вы ввели ваш обратный вызов изменения в $(document).ready?

Если нет, то дело не в конвейере ресурсов, а в загрузке DOM.

приложение / активы / JavaScripts / my.js '

$(document).ready(function () {
  $('#category_id').change( function() {
    var theURL = "/requests/byCategory/" + $('#category_id').val()
    $.ajax({url: theURL,
      success: function(data){
       $('#displaySelection').html(data);
      }
    });
  });
});

приложение / активы / JavaScripts / application.js '

//= require jquery
//= require jquery_ujs
//= require_tree .
...