我想添加相同的内容,但为了SEO而在haml中指定一个不同的标签。
更具体地说,我希望标题在<h1>
中为PostsController#index
,但在其他页面上为<p>
,因此我尝试使用
-if current_page?(controller: 'top', action: 'index') ? %h2 , %h3
但它不起作用,我认为%h2
%h3
部分中的错误部分。
答案 0 :(得分:1)
我对HAML并不熟悉,但也许这个?
- if current_page?(controller: 'top', action: 'index')
%h2= some_variable_or_text
- else
%p= some_variable_or_text
答案 1 :(得分:1)
您可以使用haml_tag
helper,如下所示:
- haml_tag current_page?(controller: 'top', action: 'index') ? :h2 : :h3 do
Content here.
请注意,辅助参数是符号,使用:
而不是%
。