我如何在HAML文件中的页面加载中呈现部分内容-Rails

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

我想知道如何在HAML文件中的javascript标记中呈现部分内容。

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

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

.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.