如何将不同的JS文件导入到不同haml视图的布局中

时间:2017-08-24 14:12:30

标签: javascript jquery ruby sinatra haml

通常,我会在每个haml文件中包含这些内容,但由于主要布局包含jquery,因此所有新的js文件必须在jquery src之后出现。 如何根据当前使用的haml包含不同的JS文件?

基本上我得到了:

haml :login_signup, :layout => :'main'

从login_signup haml文件中,我想从:main haml文件中传递要启动的JS文件的名称。

2 个答案:

答案 0 :(得分:0)

根据Haml's documentation,您应该能够在haml文件中包含脚本,执行以下操作:

%script{:type => "text/javascript",
    :src  => "javascripts/script"}

我强烈建议您使用webpack来处理js dependancies并创建bundle。它可以让管理哪些js文件时更容易管理。我发现this post非常善于解释为什么选择webpack。

答案 1 :(得分:0)

您可以在布局文件中执行条件。

-if request.path_info.include? '/some/path'
  =# include your scripts

或者,您可以将脚本文件放在页面底部的haml本身。