jquery не работи с релси и основа 4

Добавих Foundation 4 към съществуващо приложение на Rails, използвайки указанията на страницата на Foundation Rails.

Проблемът, който имам, е, че персонализираният ми jQuery код не работи с Foundation. Ето единствения ред от javascript код в секцията head на application.html.haml:

= javascript_include_tag 'application'

Ето файла application.js:

//= require vendor/custom.modernizr
//= require jquery
//= require jquery_ujs
//= require datepickers
//= require table_accordions
//= require jquery.validate.min
//= require form_validators
//= require text_area_maxlength
//= require s3_upload
//= require foundation
$(document).foundation();

Разрових се с множество поредици от тях и прегледах безброй страници в мрежата през последните няколко дни, без да намеря следа.

Някакви предположения?


person Wes    schedule 21.04.2013    source източник


Отговори (3)


Ако имате допълнителен код в application.js, трябва да добавите:

//= require_self
person Shawn Balestracci    schedule 22.04.2013
comment
Благодаря, но списъкът по-горе е целият файл. Все пак се опитах да го добавя; няма промяна. - person Wes; 22.04.2013
comment
Да, трябва да добавите require_self към файла, така че 1 ред допълнителен js в него $(document).foundtation(); ще бъдат включени. - person Shawn Balestracci; 22.04.2013
comment
Иска ми се да мога да избера вашия отговор като правилен. :D Имах нещо много подобно (просто имах по-малко изисквания в моя application.js. Странното е, че работи добре без require_self в началото. Това беше, докато не добавих компас към микса. След това започнах да получавам фънкия TypeError : $(...).foundation не е функция - грешка $(document).foundation(); Това помогна много, благодаря. - person tkit; 25.06.2013

Премахнах

$(function(){ $(document).foundation(); });

от application.js и ръчно добавен

<script>$(document).foundation().foundation('joyride', 'start');</script>

точно над затварящия етикет на тялото във файла application.html.erb и всичко работи.

person oconn    schedule 05.01.2014

Най-накрая разбрах това.

Оказва се, че когато актуализирах пакета в приложението си, jquery-rails се актуализира до jquery 1.9.1, което е несъвместимо с повечето от моите персонализирани javascript.

Промених версията на jquery обратно на 1.8.3 и всичко работи отново. И сайтът е значително подобрен с Foundation.

person Wes    schedule 22.04.2013