0

我是 Rails 新手,我对某些事情感到困惑。

我正在使用 js.erb 文件向我显示从服务器获取的产品列表。我感到困惑的是如何在 js.erb 文件中执行此操作并且它可以工作:

<ul class="list-bordered" id="products">
    <%= render_cell :businesses, :index, {:businesses => @businesses} %>
</ul>

<%= render :partial => 'partials/infinite', :locals => {:segment => businesses_path, :container => '#businesses'} %>

并且所有其他 JS 代码都被转义,因此

var t = 0;

在页面中输出为“var t=0;”

我检查了服务器日志,响应确实是 JS。我正在使用 respond_with,并检查我确实在响应 JS 请求。

附带问题:以“最佳实践方式”说话,在 .js.erb 文件中包含 html 代码可以吗?

提前致谢!

4

1 回答 1

2

由于您正在触发 AJAX 请求,它的数据类型script现在是在.js.erb文件中,您可以轻松编写 Javascript 代码。

$("#products").html("<%=escape_javascript(render_cell :businesses, :index, {:businesses => @businesses}%>")

现在您可以.js.erb根据自己的意愿操作您的或 HTML;这只是一个示例,您如何在.js.erb.

现在假设您在客户端呈现 HTML(考虑数据类型是text/html)。在 AJAX 成功后,您必须替换该 HTML。

于 2012-09-12T15:02:31.083 回答