2012-09-17 81 views
0

我需要調用一個rails helper方法並獲取數組的值,以便javascript可以處理它。是否有可能在JavaScript內部調用rails helper?我正在嘗試在我的應用程序中集成jquerys自動完成功能。請找到下面的代碼。內部調用rails輔助方法javascript

$(document).ready(function() { 
    //**Here the rails helper method will get the list of items**  

    function split(val) { 
     return val.split(/,\s*/); 
    } 

    function extractLast(term) { 
     return split(term).pop(); 
    } 

    $("#tags") 
    // don't navigate away from the field on tab when selecting an item 
    .bind("keyup", function (event) { 
     if (event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active) { 
      event.preventDefault(); 
     } 
    }).autocomplete({ 
     minLength: 0, 
     source: function (request, response) { 
      // delegate back to autocomplete, but extract the last term 
      response($.ui.autocomplete.filter(
      availableTags, extractLast(request.term))); 
     }, 
     focus: function() { 
      // prevent value inserted on focus 
      return false; 
     }, 
     select: function (event, ui) { 
      var terms = split(this.value); 
      // remove the current input 
      terms.pop(); 
      // add the selected item 
      terms.push(ui.item.value); 
      // add placeholder to get the comma-and-space at the end 
      terms.push(""); 
      this.value = terms.join(", "); 
      return false; 
     } 
    }); 
}); 
+0

我不太瞭解javascript。但是你可以使用這個gem在javascript https://github.com/gazay/gon中獲得你所有的ruby變量 –

回答

0

我不認爲有一種直接的方法可以在JavaScript文件中使用Rails助手。

然而,您可以通過將這些列表/數組放置在標記中的腳本標記中,或者將它們添加爲data-attributes,以便稍後通過JavaScript獲取它們。另一個解決方案是使用Gon寶石評論。