【问题标题】:How do I pass script name to layout from separate haml file如何从单独的haml文件将脚本名称传递给布局
【发布时间】:2018-02-03 10:04:51
【问题描述】:

这是我目前正在使用的:

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

从 login_signup haml 文件中,我想在 :main haml 文件中传递要解析的 JS 文件的名称。

原因?布局 main.haml 包含 jquery 参考。其余的 haml 文件使用不同的 JS 脚本,这些脚本需要首先获取 jquery。

【问题讨论】:

    标签: ruby-on-rails ruby sinatra haml


    【解决方案1】:

    你的描述听起来像content_for

    这是如何工作的

    = yield(:somejs)
    

    然后从 login_signup 视图中填写:

    - content_for(:somejs) do
      = javascript_include_tag :foo
    

    由于您还标记了 Sinatra,因此有一个用于该功能的插件:https://github.com/foca/sinatra-content-for

    【讨论】:

    • =yield(:somejs) 没有用,但是 = yield_content :somejs 有点用。 content_for 相同(更改为 content_for :somejs do)。但现在它呈现: [#<0x007f8ce7b3dff0 .... haml location>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-29
    相关资源
    最近更新 更多