Haml 到 Erb 手动转换

Posted

技术标签:

【中文标题】Haml 到 Erb 手动转换【英文标题】:Haml to Erb manual conversion 【发布时间】:2013-07-02 02:49:22 【问题描述】:

大家好,我有一个关于如何将以下内容转换为 Erb 版本模板的问题。 以下是我在 Haml 中的代码:

%li.public.radio"data-aspect_id" => "public", :class => ("selected" if publisher_public)

%li.divider.all_aspects.radio:style => "padding-bottom: 5px; border-bottom: 1px solid #ddd;", "data-aspect_id" => "all_aspects", :class => ("selected" if (!publisher_public && all_aspects_selected?(selected_aspects)))

我在 Erb 中的解决方案如下,但似乎效果不佳

<li class="public radio" data-aspect_id="public" class = "# 'selected' if publisher_public">
</li>

<li class="all_aspects divider radio" style="padding-bottom: 5px; border-bottom: 1px solid #ddd;" data-aspect_id="all_aspects" class = "# 'selected' if (!publisher_public && all_aspects_selected?(selected_aspects))"></li>

【问题讨论】:

【参考方案1】:

您可能只希望 html 中有一个 class 属性,而 #... 不会在 ERB 中进行字符串插值(当然,除非它位于 Ruby 块中)。你可能想要更多这样的东西:

<li class="public radio <%= 'selected' if publisher_public %>" data-aspect_id="public">

另一个&lt;li&gt;也是如此。

【讨论】:

以上是关于Haml 到 Erb 手动转换的主要内容,如果未能解决你的问题,请参考以下文章

将 Haml 转换为 erb 错误

有没有好的 HAML -> ERB/H​​TML 转换器?

将 .rhtml 视图转换为 .html.erb 等

在 Rails 中使用 HAML 而不是 ERB 时 CSS 未加载 (404)

Rails 3.2 - haml vs. erb。haml是否更快?(2012年2月)

哪种 Java HTML 模板技术的工作方式最接近 Ruby (erb/haml)?