Rails - 如何在 html 响应中渲染 js

发布于 2024-10-06 02:01:07 字数 302 浏览 2 评论 0原文

我有一个动作“index”,当通过ajax调用时,会呈现index.js,它会呈现部分内容:

$("#content").html("<%= escape_javascript(render :partial => 'index') %>");

如何在html响应中使同样的事情发生? 我尝试过:

format.html { render "index.js" }

虽然我没有收到任何错误,但 js 代码似乎没有运行,因为部分没有渲染。

I have an action 'index', that when called via ajax, renders index.js which renders a partial:

$("#content").html("<%= escape_javascript(render :partial => 'index') %>");

How do I make the same thing happen in the html response?
I tried:

format.html { render "index.js" }

And although I don't get any errors, the js code doesn't seem to run, because the partial doesn't render.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不甘平庸 2024-10-13 02:01:07

您是否尝试过将脚本包装在

您的 index.html.erb 看起来像这样:

<script type="text/javascript">
  $("#content").html("<%= escape_javascript(render :partial => 'index') %>");
</script>

Have you tried wrapping the script inside <script> tag?

Your index.html.erb would look like this:

<script type="text/javascript">
  $("#content").html("<%= escape_javascript(render :partial => 'index') %>");
</script>
撩心不撩汉 2024-10-13 02:01:07

默认渲染是 render :action => 的快捷方式:action_name。要指定文件系统路径,请使用 render :file => “index.js”

The default render is a shortcut for render :action => :action_name. To specify a filesystem path use render :file => "index.js"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文