Плагин Rails 3.x Assets Pipeline Facebox jQuery (как настроить)

Я всю ночь бился головой о стену, пытаясь понять, почему плагин jQuery Facebox не работает в моем приложении Rails. Это ошибка, которую я получаю, вызывая это из doc ready:

$.facebox("<a href='#'>hello</a>");

У меня есть ощущение, что это как-то связано с конвейером активов, но не уверен. Вот как я настроил необходимые файлы:

vendor/assets/images/facebox/
./loading.gif
./closelabel.png

vender/assets/javascripts/facebox/
./facebox.js

vender/assets/stylesheets/facebox/
./facebox.css

затем в моем application.css

...
*= require_self
 *= require_tree .
 *= require_tree ../../../vendor/assets/stylesheets/.
...

затем в моем application.js

...
//= require jquery
//= require jquery_ujs
//= require_tree ../../../vendor/assets/javascripts/.
//= require_tree .
...

выдает эту ошибку javascript:

TypeError: Object function ( selector, context ) {// The jQuery object is actually just the init constructor 'enhanced'return new jQuery.fn.init( selector, context );} has no method 'facebox'

person botbot    schedule 23.06.2012    source источник


Ответы (1)


Просто используйте жемчуг facebox-rails, и ваша жизнь значительно улучшится.

Поскольку это заняло у меня 2 часа разочарования, пытаясь понять, я решил опубликовать свое решение, на настройку которого у меня ушло всего 2 минуты.

Мне также очень нравится решение поместить его в гем, потому что вам не нужно мучиться с разделением всех файлов и убедиться, что вы поместили их в нужное место и настроили пути. Поскольку я использую это всплывающее окно во всех своих проектах, оно действительно входит в andy. Серьезно, спасибо ребятам, которые сделали эту жемчужину!

person botbot    schedule 23.06.2012