2012-04-17 2 views
1

Так что я недавно обновил большой проект до рельсов 3.1. У меня налажен и работает конвейер активов. Тем не менее, многие плагины, которые мы используем, и пользовательские функции jQuery, которые мы написали, похоже, не оцениваются, хотя источник находится в application.js. Например:jQuery плагины/функции, не загружающиеся после рельсов 3.1 upgrade

(function($) { 
    $.fn.searchable = function() { 
     .... 
    } 
    })(jQuery); 

Я вижу этот код в application.js, но ничего, что пытается использовать это получает яваскрипт ошибки, неопределенная функцию. Однако, если я завершу все это в определении функции и вызову эту функцию в документе готовой, то она будет работать.

Это действительно уродливое обходное решение. Любые идеи, почему он не работает, не обертывая функцию?

Спасибо.

+0

О, боль! Я тоже недавно (6 месяцев назад) обновил два больших 2.3.8 приложения до 3. [1 | 2]. Я помню те же самые проблемы. Хотел бы я вспомнить все детали того, что я пережил, но я не знаю (я слишком стар!). Я помню, что в какой-то момент, из разочарования, я предварительно собрал активы в разработке. Я могу только помнить, что это был ключ к разрыву лог-джем, он как-то показал окончательные ответы (для многих моих конкретных случаев). Кажется встречным интуитивным! Хотел бы я помочь больше! Удачи! – RadBrad

ответ

0

Возможно, вам стоит взглянуть на «кодоскоп». например

//define your js function as: 
this.some_function_name() => 
    alert('hello~') 

//call it as: 
this.some_function_name() 
+0

На самом деле это не решает мою проблему с другими плагинами, которые уже написаны и, как правило, сокращены. –

Смежные вопросы