如何在ap中创建一个强大的元素

AP2*_*257 4 haml ruby-on-rails

在haml中,如何呈现以下令人难以置信的基本HTML:

<p>Results found for <strong>search term</strong>
Run Code Online (Sandbox Code Playgroud)

"搜索词"实际上是一个名为的Ruby变量@query

我正在尝试以下方式,

%p results found for <strong>= @query</strong>
Run Code Online (Sandbox Code Playgroud)

但这= @query从字面上呈现.如果我尝试:

%p results found for <strong>
= @query
</strong>
Run Code Online (Sandbox Code Playgroud)

然后查询字词正确呈现,但是在新行上.

另外,我想知道是否有更好的方法来呈现<strong>haml,同时保持所有内容都在同一条线上.

我知道haml文档,但据我所知,没有使用简单的内联Ruby变量的例子.

-----更新-------

以下代码有效,并显示了如何使用不在标记内的变量:

   %p   
    = @trials_found_count
    results found for
    %strong= @query
Run Code Online (Sandbox Code Playgroud)

但我觉得它真的不可读 - 很难说它只是一行HTML而不添加上面的评论.

有没有办法将所有这些代码放在一行上?或者这就是haml的工作方式?

nuc*_*ich 5

HAML是以空格分隔的.嵌套标签位于下面的行上,而上面的标签中有一个级别.要显示输出的嵌入式Ruby使用'='打开.您不想显示的嵌入式Ruby(例如循环的开头)使用' - '这些在erb中分别等同于<%=%>和<%%>.

你想要的是这样的:

%p 
   results found for
   %strong= @query
Run Code Online (Sandbox Code Playgroud)

哪个会产生html:

<p>results found for <strong>@query</strong></p>
Run Code Online (Sandbox Code Playgroud)

应该注意的是,启动Ruby评估的'='只能出现在行的开头或标记声明之后,并且每行只能发生一个标记声明.您链接的参考文献的Ruby Evaluation部分详细介绍了嵌入式Ruby,以及涵盖嵌入式ruby和许多其他haml基础知识的haml教程:http://haml-lang.com/tutorial.html