2015-03-12 2 views
2

Я начинаю в RoR и пытаюсь включить pickadate.js в своем приложении.Ruby on Rails + pickadate.js -> что случилось?

В соответствие файл контроллера app/assets/javascripts/calc_date.js.coffee Я напечатал:

$ -> 
    $(".date").pickadate() 

В форме частичного app/views/calc_date/_form.html.haml я напечатал:

= form_tag('/calc_date/calc') do 
    %div 
    %b Please, select date: 
    = date_field_tag 'date', @date, id: "date", class: "date" 
    = submit_tag 'Calculate' 

При нажатии на поле ввода ничего не происходит. Я ожидаю, что появится виджет календаря, но он не сработает.

В application.js:

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require pickadate/picker 
//= require pickadate/picker.date 
//= require pickadate/translations/ru_RU 
//= require_tree . 

В application.css:

*= require pickadate/default 
*= require pickadate/default.date 
*= require_tree . 
*= require_self 

Я сделал попытку с JQuery-UI-даты, и она работала. Я использую то же самое с pickadate.js, но не получил от него никакой реакции.

В окне терминала можно увидеть такие строки:

Started GET "/assets/pickadate/picker.js?body=1" for 127.0.0.1 at 2015-03-12 15:26:44 +0300 

Started GET "/assets/pickadate/picker.date.js?body=1" for 127.0.0.1 at 2015-03-12 15:26:44 +0300 

Что моя ошибка или что же я пропустил?

спасибо.

+0

Откройте средства разработки браузера и проверьте ошибки JS в консоли. –

+1

Большое спасибо. Вы открыли мне глаза. Но что с ними делать? –

+1

Это: 'TypeError: document.body is null',' ReferenceError: Picker не определен', 'TypeError: jQuery.fn.pickadate is undefined',' TypeError: $ (...). Pickadate не является функцией ' –

ответ

0

Проводка ресурсов Rails игнорирует первую папку в каталоге assets. Попробуйте вместо этого:

В application.js:

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require picker 
//= require picker.date 
//= require translations/ru_RU 
//= require_tree . 

В application.css:

*= require default 
*= require default.date 
*= require_tree . 
*= require_self 
1

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

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

В чем была проблема ...... TURBO LINKS .... мой бог, эта штука подталкивает меня орехами. Я всегда вынимаю его, но он был там, потому что я тоже вижу его в своем приложении.

Кроме того, ваш код кажется прекрасным, он должен работать.