[英]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.