0

Premisse:我對javaScript的瞭解甚少。Rails資產和JavaScript集成

在Rails佈局,下面的腳本功能:

<script> 
    $(function() { 
    $("#date_available_dal").datepicker({dateFormat: 'yy-mm-dd', showButtonPanel: true}); 
    $("#date_available_al").datepicker({dateFormat: 'yy-mm-dd', showButtonPanel: true}); 
    }); 
</script> 

但是,如果我把相同的代碼,而剝離開閉腳本標記,在.js文件中的資產/ JavaScript的文件中,瀏覽器加載文件,但[如Curly所說]沒有任何反應。

我在很多場合都遇到過這個問題&它妨礙我正確使用管道。什麼是軌道在後臺做,可能會改變這個腳本的行爲?

在同一個思路,如果我是給定的應用方法

def set_locale 
    if user_signed_in? 
     I18n.locale = current_user.idioma.code.downcase 
    else 
     I18n.locale = params[:locale] || I18n.default_locale 
    end 
    end 

的區域追加到

datepicker({dateFormat: 'yy-mm-dd', regional[ #{set_locale} ] 

怎麼會變成這樣代碼的燃料電池堆之間如何處理?

更新

目前在開發模式下,瀏覽器接收文件有以下:

$(function() { 
$("#date_available_dal").datepicker({dateFormat: 'yy-mm-dd', minDate: 0, numberOfMonths: 3, showButtonPanel: true}); 
$("#date_available_al").datepicker({dateFormat: 'yy-mm-dd', minDate: 1, numberOfMonths: 3, showButtonPanel: true}); 
    }); 
+0

堅持一次一個問題。關於第一個問題,您發佈的代碼沒有明顯的錯誤,並且無法說明資產管道在沒有看到輸出的情況下做了什麼。 –

+0

更新了包含代碼的問題。 (是的,關於多個問題的理解,我的假設是它們以某種方式鏈接) – Jerome

+0

您能在瀏覽器控制檯中看到任何腳本錯誤嗎?這些文件中的唯一四行是否傳送給瀏覽器?如何以及何時加載jQuery? –

回答

0

答到的主要問題:約瑟夫已確定的問題。在這種情況下,JavaScript順序是要解決的問題。

我將添加第二個觀察:require_tree。可能會非常棘手(按字母順序查看文件),聲明的內容等等。使用異構JS的應用程序越大,使用它的人越多,通常會聲明個別情況下真正需要的東西。

至於第二個問題,鑑於這些頁面已編入索引,我會再次適當的練習併發布答案。

jQuery的日期選擇器有自己的I18n文件集,它們定義爲datepicker-de.jsdownload the necessary files form github並在需要時保存。我定義了用戶在現場idioma_id語言,以其伊多馬模型,允許我說明

<% if user_signed_in? %> 
    <%= javascript_include_tag ("datepicker-" + "#{current_user.idioma.code.downcase}") %> 
<% elsif params[:locale].present? %> 
    <%= javascript_include_tag ("datepicker-" + "#{params[:locale]}") %> 
<% else %> 
<% end %> 

最後else語句是應用,如果你的默認語言環境是連接的快捷方式。 datepicker的默認值是en,因此已經加載。