【问题标题】:Javascript ERB view file in RailsRails 中的 Javascript ERB 视图文件
【发布时间】:2014-03-11 20:27:09
【问题描述】:

当进行 ajax 调用时,我需要在 .js.erb 文件中运行条件。

我有以下几点:

function updateContent() {
  $('.organiser__holder').html('<%= escape_javascript render("filter_links") %>');

  $('.houses').html('
    <% if @houses.count > 0 %>
      <%= escape_javascript render(@houses) %>
    <% else %>
      <%= escape_javascript '<div class="message-box"><p>No houses matching those parameters</p></div>' %>
    <% end %>
    ');
  $('.paginator').replaceWith('<%= escape_javascript(render("shared/house_paginator").to_s) %>');
}

我认为这不是完成此任务的正确方法,但不确定正确的方法是什么?

有人有什么想法吗?

【问题讨论】:

    标签: javascript ruby-on-rails ajax view erb


    【解决方案1】:
    <% if @houses.count > 0 %>
      <% markup = render(@houses) %>
    <% else %>
      <% markup = '<div class="message-box"><p>No houses matching those parameters</p></div>'.html_safe %>
    <% end %>
    
    function updateContent() {
      $('.organiser__holder').html('<%= escape_javascript render("filter_links") %>');
    
      $('.houses').html('<%= escape_javascript(markup) %>');
      $('.paginator').replaceWith('<%= escape_javascript(render("shared/house_paginator").to_s) %>');
    }
    

    【讨论】:

    • 效果很好,而且比我之前做的更有条理 100 倍。但是当房屋 = 0 时,我得到:

      没有符合这些参数的杯垫

      以文本形式输出到页面?
    • 我修改了答案,再试一次?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    相关资源
    最近更新 更多