在HAML中使用JQuery客户端模板逻辑

在HAML中使用JQuery客户端模板逻辑,jquery,ruby,haml,jquery-templates,Jquery,Ruby,Haml,Jquery Templates,我目前正在一个web服务项目中使用HAML。我的设置似乎不允许我使用JQuery客户端模板逻辑。具体地说 如何基于是否存在变量有条件地呈现视图代码。在我的foo.html.haml文件中,我正在尝试 {{if $data}} Show this {{/if}} 如果我没有有效地描述我的问题,请原谅我,我不熟悉使用web服务构建应用程序。如果我理解正确,听起来好像你试图将一些tmpl逻辑与生成该页面的HAML混合。重要的是要记住,jQuery tmpl将在所有HAML被解析并转换为HTML之后发

我目前正在一个web服务项目中使用HAML。我的设置似乎不允许我使用JQuery客户端模板逻辑。具体地说

如何基于是否存在变量有条件地呈现视图代码。在我的foo.html.haml文件中,我正在尝试

{{if $data}}
Show this
{{/if}}

如果我没有有效地描述我的问题,请原谅我,我不熟悉使用web服务构建应用程序。

如果我理解正确,听起来好像你试图将一些tmpl逻辑与生成该页面的HAML混合。重要的是要记住,jQuery tmpl将在所有HAML被解析并转换为HTML之后发生

因此,如果您希望以下内容作为客户端HTML:

<script id="myTmpl" type="text/x-tmpl">
    {{if $error}}
         <div class="error">
             Error!!!
         </div>
    {{else}}
         <div class="non-error">
             Everything looks ${adjective} to me.
         </div>
    {{end if}}
</script>

请记住,您正试图输出一个可解析的jQuery tmpl。您的另一个选择是在HAML的
:plain
标记中执行所有操作,有些人更喜欢这样做以提高可读性。

您使用display:none呈现它,并在客户做出决定后有条件地显示它?
%script#myTmpl{:type => "text/x-tmpl"}
    :plain
        {{if $error}}
    .error Error!
    :plain
        {{else}}
    .non-error Everything looks ${adjective} to me.
    :plain
        {{/if}}