如何在Rails的Haml文件中呈现页面加载时的部分页面

问题描述 投票:0回答:2

如何在Haml文件中的JavaScript标记中呈现部分?

我希望页面加载完成后显示保存按钮。

此刻,文件(部分)看起来像这样:

.form-group.form-actions
  .col-sm-offset-2.col-sm-10
    %button.btn.btn-primary{type: "submit", name: "save"
      %i.icon-white.icon-ok
      = t("Save")

我将%button.btn.btn-primary部分移至另一个部分文件_save_button.html.haml,并尝试了以下操作:

.form-group.form-actions
  .col-sm-offset-2.col-sm-10
    :javascript
      $(document).ready( function() {
        $.ajax({
          type: "GET",
          url: "<%= render partial: 'save_button' %>" ,
          success: function(data){
            //if ever there is something more to do (there is also an error handler)
          }
        });
      });

虽然没有任何影响,但没有显示“保存”按钮。

如何加载部分加载的内容?

javascript ruby-on-rails haml partial-views
2个回答
0
投票

对于初学者来说,您好像在URL中使用ERB语法。 <%=开头不是HAML语法。

关于在JavaScript方法中渲染部分代码,我不认为Ajax是您想要的。您已经在使用$(document).ready,因此在该位置执行的所有操作都应在文档加载后发生。


0
投票

您可以在JavaScript代码中呈现Haml部分代码,但是您需要转义HTML,以使浏览器不认为它是代码:

someHtml = "#{ j render(partial: 'your_partial') }";

[jescape_javascript的快捷方式。

对于Haml,您想要#{ ... }而不是<%= ... %>。>>

© www.soinside.com 2019 - 2024. All rights reserved.