Rails资产和javascript集成

Rails资产和javascript集成,javascript,ruby-on-rails-3.2,asset-pipeline,jquery-ui-datepicker,Javascript,Ruby On Rails 3.2,Asset Pipeline,Jquery Ui Datepicker,Premisse:我对javaScript知之甚少 在rails布局中,以下脚本起作用: <script> $(function() { $( "#date_available_dal" ).datepicker({dateFormat: 'yy-mm-dd', showButtonPanel: true}); $( "#date_available_al" ).datepicker({dateFormat: 'yy-mm-dd', showButtonPanel

Premisse:我对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>

如何在堆栈之间处理此代码

更新

当前处于开发模式,浏览器正在接收具有以下内容的文件:

  $(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});
  });

对主要问题的回答:约瑟夫已经确定了这个问题。在本例中,javascript顺序是要解决的问题

我将添加第二个观察:require_tree。它所做的事情(按字母顺序查看文件)、声明的内容等之间可能非常棘手。使用JSE的应用程序越大,就越应该避免使用JSE,通常在个别情况下声明真正需要的内容

至于第二个问题,考虑到这些页面都被编入了索引,我将重新进行适当的练习,并给出答案

jQuery的datepicker有自己的I18n文件集,定义为datepicker-de.js。并在需要时保存它们。我已经在字段idioma_id中定义了用户的语言及其Idoma模型,允许我声明

<% 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语句是一个快捷方式,如果默认区域设置为en,则该快捷方式将适用。datepicker的默认值为en,因此已加载

每次只回答一个问题。关于第一个问题,您发布的代码没有明显的错误,在没有看到输出的情况下,不可能说资产管道正在做什么。更新了问题以包含代码。(是的,了解多个问题。我的假设是它们以某种方式链接)您能在浏览器控制台中看到任何脚本错误吗?文件中只有这四行提供给浏览器吗?如何以及何时加载jQuery?jQuery按照加载文件的顺序,但在datepicker之后,即使我在application.js/=require jQuery//=require jQuery\u ujs/=require jQuery.ui.datepicker中声明没有脚本错误链接到此脚本本身。//=需要jquery.PrettyTotry整理脚本的顺序。
  $(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});
  });
<% 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 %>