Tag: 哈姆

如何只在同一时间写“文本”并检查path_info是否包含’A’?

– if !request.path_info.include? ‘A’ %{:id => ‘A’} “Text” – else “Text” “文字”写了两次。 如何只写一次并同时检查path_info是否包含’A’?

在属性哈希中转义HAML

我有一个类似于我在stackoverflow上发现的问题,但不完全相同。 我想避免解决以下问题: https://stackoverflow.com/a/10407782/996587 基本上,想要以下HTML输出: <div class='myclass' extraattr='UNESCAPED & CONTENT’> Content… 我使用的HAML看起来像这样: .myclass{ “extraattr” => “UNESCAPED & CONTENT” } Content… 我无法弄清楚如何让内容以我想要的方式输出。 尝试将.html_safe应用到字符串的末尾,但收到以下错误: 未定义的方法`html_safe’代表“UNESCAPED &CONTENT”:字符串 后来意识到,对于这个特定的应用程序,我不使用Rails,只是ruby + HAML。 (我inheritance了这个项目,我只是开始学习HAML,ruby和Rails) 而且,对于那些懒得单击链接并且没有阅读我提到的解决方案的人,我宁愿不将HAML配置为不为整个文件转义attrs,只是为了这个属性。 谢谢! UPDATE 我刚刚找到了:普通filter,并且能够得到我想要的东西。 但是,如果有一个技巧我不知道所以我不必写所有的HTML,我会很感激。 我的“修复”: :plain <div class='myclass' extraattr='UNESCAPED & CONTENT’> Content…

如何在javascript定义中运行haml in haml?

如何在haml中的javascript中运行ruby代码? 如果我在我的例子中使用var = #{message} ,我会得到undefined local variable or method message 当我移动- message = ‘it works’上面:javascript一切正常 我想在里面运行迭代 .each :javascript 。 请参阅最后一个代码示例,了解我在最终的javascript代码中需要什么。 在哪里我需要循环一些ruby变量(或散列哈希哈希?)来获得这个。 数据(=’基础’)可以有很少的元素。 它可以有少数元素的孩子等。 这个haml代码 %html %head :javascript $(document).ready(function() { – message = ‘it works’ var = message }); %body – message2 = ‘hi’ = message2 %div{:id =>”jstree”} 给了我这个HTML代码 // hi 我想用haml生成的最终javascript代码是javascript变量 var data = [{ […]

如何在不重复缩进代码的情况下在HAML中执行if / else

根据用户是否登录,我想打印另一种%body标签。 这就是我目前的做法: – if defined? @user %body(data-account=”#{@user.account}”) %h1 Welcome -# all my content – else %body %h1 Welcome -# all my content 正如您所看到的,那里有很多重复的代码。 我怎么能消除这个? 我已经尝试过以下方法: – if defined? @user %body(data-account=”#{@user.account}”) – else %body %h1 Welcome -# all my content 不幸的是,这不起作用,因为HAML将其解释为好像%h1和内容是else语句的一部分,当然它们不是。 关于如何解决这个问题的任何想法? 我一直在遇到这个问题,所以我无法想象它没有一个简单的解决方案。

条件haml – if else嵌套

我想要的是“if”中的什么,以及“else”中包含#main-block的内容。 – if @transparency #content-inner{:style => “background: url(../../../images/illustrations/” + @transparency + “) no-repeat 88% 50%”} – else #content-inner #main-block 目前发生的情况是,如果定义了@transparency , #main-block不会嵌套在#content-inner 。

在Haml中构建布局模板

我有一个使用Haml进行布局的网页。 有一个单独的布局文件(layout.haml),在渲染任何实际的haml页面时使用。 layout.haml看起来像 -# layout.haml !!! XML !!! %html %head … %body … #content= yield 问题:这当然已经存在于文档的因此不能直接操作标题中的内容。 例如, 通过@title更改。 什么是更大的问题是每个页面特定的Javascript需要在正文中加载。 而且layout.haml已经包含Javascript,因此jQuery通常被多次实例化。 有关更好的模板结构的任何建议吗?

在Rails之外的HAML中渲染HAML部分

我正在使用HAML为网站生成一些静态html页面,我想要将常用组件拆分为可以包含在多个页面中的部分,就像在Rails中一样。 但是我不想使用整个Rails堆栈来执行此操作,因为它看起来有点矫枉过正。 我在互联网上环顾四周但没有找到任何东西,比做以下事情更好: Haml::Engine.new(IO.read(“header.haml”)).render 是否有更好的方法在HAML中包含所谓的部分内容? 我缺少的现有filter或命令?