我目前正在执行一个项目,我正在实施几个报告。报告过滤器远程提交给我的操作,返回结果显示在 Datatable 中,并带有搜索、排序和分页。
我有一个 drg.js.erb 文件,其中包含如下代码:
var html = "<%= escape_javascript(render(partial: 'drg_datatable',formats: [:html],locals: {result: @result})) %>";
$("#datatable-result").append(html);
部分 _drg_datatable.html.erb 的数据表是这样实现的。下面是我的 _drg_datatable.html.erb 文件:
<% if result %>
<table id="results" class="table table-striped table-bordered display">
<% case params[:view] %>
<% when "ahfs" %>
<%= datatable_ahfs_result(result) %>
<% when "drg_code" %>
<%= datatable_drg_result(result) %>
<% when "inpharmics_id" %>
<%= datatable_inpharmics_id_result(result) %>
<% when "provider" %>
<%= datatable_provider_result(result) %>
<% else %>
<% end %>
</table>
<% end %>
我面临的问题是,当我使用 .js.erb 文件渲染部分 _drg_datatable.html.erb 时,它会创建表,但会转义 javascript 以添加排序、分页和我们在 Jquery Datatables 中获得的其他很酷的功能。有人可以指出我该怎么做吗?我试图在不编写 escape_javascript 的情况下渲染部分是 .js.erb ,但是部分根本没有被渲染。