繁体   English   中英

Rails资产和javascript集成

[英]Rails assets and javascript integration

前提:我对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>

但是,如果我在资产/ javascripts文件内的.js文件中剥离了打开和关闭脚本标签的同时放置了相同的代码,则浏览器将加载该文件,但是[正如Curly会说的]没有任何反应。

我已经经历过很多次了,这阻碍了我正确使用管道。 Rails在后台执行的操作可能会更改此脚本的行为?

按照相同的思路,如果我要附加给定应用程序方法的语言环境

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

回答主要问题:约瑟夫(Josef)已确定问题所在。 在这种情况下,要解决JavaScript的问题。

我将添加第二个观察结果:require_tree。 它的功能(按字母顺序查看文件),声明的内容等等之间可能非常棘手。 异构使用JSes的应用程序越大,越应该越用它来避开形式,通常声明个别情况下真正需要什么。

至于第二个问题,鉴于这些页面已编入索引,我将再次进行适当的练习并发布答案。

jQuery的datepicker具有自己的I18n文件集,其定义为datepicker-de.js 从github下载必要的文件,然后将其保存在需要的位置。 我已经使用Idoma模型在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语句是一个快捷方式,如果您的默认语言环境为en,则该快捷方式适用。 datepicker的默认值为en,因此已经加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM