Rails 3 Javascript не работает - PullRequest
       2

Rails 3 Javascript не работает

0 голосов
/ 19 марта 2012

Я включил Javascript с <%= javascript_include_tag "application" %> в мое приложение Rails 3.2. И я включил следующий CoffeeScript в файл company.js.coffee, который при запуске включается в конечный файл application.js:

$("article h2 a").click (e) ->
    $("article div").hide()
    $(@hash).slideToggle()
    e.preventDefault()
$("article div:not(#1)").hide()

Однако скрипт не работает вообще, несмотря на то, что он функционирует в исходном HTML-файле, из которого он был скопирован (хотя и не в CoffeeScript). И, похоже, запросы AJAX-форм тоже не работают.

Кто-нибудь знает, почему это может происходить? Я что-то упускаю?

Ответы [ 4 ]

3 голосов
/ 21 марта 2012

Я наконец нашел ответ (что-то, что я должен был сначала попробовать). Я предположил, что rails автоматически включал открыватель $ -> в файл application.js, когда он включал другие файлы в папку ресурсов. Но, похоже, вам нужно сделать это для каждого. Итак, я просто добавил $ -> перед всем, и теперь это работает.

И заметка для других, читающих с той же проблемой, убедитесь, что селектор $ не используется никакими другими функциями, иначе вам потребуется сделать полную ссылку на функцию CoffeeScript JQuery.

Спасибо за помощь!

1 голос
/ 19 марта 2012

Это случилось со мной около недели назад, вот мои решения. Сначала я удостоверился, что мой файл application.js имел это в начале файла.

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

Другое дело, убедитесь, что rails не использует публичный каталог. Иногда вы будете иметь и общедоступные и активы, но убедитесь, что вы говорите рельсам об использовании активов. Rails 3.2 должен автоматически включать это. Откройте ваш config >> application.rb и проверьте следующее.

# Enable the asset pipeline
config.assets.enabled = true
config.assets.version = '1.0'
0 голосов
/ 25 июля 2012

Я исправил ту же проблему, удалив все файлы в папке% RAILS_ROOT / lib / assets /.

0 голосов
/ 19 марта 2012

, если article представляет идентификатор элемента или класса, вам нужно выбрать его с помощью .article или #article.я все время забываю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...