bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Rails и JS (JQuery) как правильная методология разработки?

Здравствуйте. Подскажите пожалуйста правильную методологию разработки JS на Rails.
Вот пример с проекта. Вопросы я задал в комментариях в куске исходного кода. Подскажите пожалуйста какие неправильные походы реализованы? И посоветуйте что-то дельное ))). Может есть варианты реализации через объектную модель? Спасибо

$( document ).on( 'turbolinks:load', function() {

  // Каждая страничка имеет свой ИД 
  // вот в строке ниже как раз идет проверка на наличие и тогда все функции и переменные создаются только 
  // при наличии такого елемента на страничке
  // нужна ли такая проверка? 
  if ( $( '#institution_orders' ).length ) {
   
    // Работа с сессиями, правильна ли реализация 
    if ( sessionStorage.instituiton_orders_date_start ) {
      $( '#date_start' ).val( sessionStorage.instituiton_orders_date_start ) };
 
    // Функция в модуле. Правильное ли объявление? 
    function filterTableInstituitonOrders() {
      var $date_start = $( '#date_start' );
      var $path_ajax = $date_start.data( 'ajax-path' )
      $.ajax( { url: $path_ajax, type: 'GET', dataType: 'script' } );
    };

filterTableInstituitonOrders(); // Фильтрация таблицы заявок

    // Нажатие на кнопочку создать заявки
    $( '#create_institution_order' ).click( function() {
      $( "#dialog_wait" ).dialog( 'open' );
      var $date_start = $('#date_start');
      var $path_ajax = $( this).data( 'ajax-path' );
      $.ajax( { url: $path_ajax, type: 'POST', dataType: 'script' } );
    } );

    // Выбора даты с календаря
    $( '#date_start' ).datepicker( {
      onSelect: function() {
        var $this = $( this );
        var $thisVal =  $this.val();
        filterTableInstituitonOrders(); // 
      }
    } );

    // Табличка перестраивается посредством AJAX 
    // поэтому прив"язать события на клавиши получилось только так 
   // Правильно ли так?
    $( document ).on( 'click', '#table_institution_orders tbody tr', function() {
     // Правильно ли реализован рендеринг на другую страничку?
      window.location.replace( $( this ).parents( 'table' ).data( 'path-view' ) );
    } );
  };

} );
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы