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的工作方式?
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
| 归档时间: |
|
| 查看次数: |
4983 次 |
| 最近记录: |