【问题标题】:Ruby on rails -- Render partial file inside .js.erb fileRuby on rails -- 在 .js.erb 文件中渲染部分文件
【发布时间】:2012-07-29 08:19:30
【问题描述】:

在 HTML 标头中,这个小 javascript 工作:

application.html.erb

<script type="text/javascript">
               alert("<%= escape_javascript(render('resources/positions')) %>");
</script>

但是当我尝试将相同的代码放入 js.erb 文件时,它不起作用。

我试图包含该文件,但不能双向工作:

<script src="/assets/resources.js.erb" type="text/javascript"></script>
<%= javascript_include_tag 'resources' %>

app/assets/javascripts/resources.js.erb

alert("<%= escape_javascript(render('resources/positions')) %>");

有什么想法吗?

提前感谢您的帮助。

【问题讨论】:

  • 我会在生成的 html 中检查您获得的文件 (/assets/resources.js) 是否存在并包含您期望的内容
  • 是的,我检查了生成的 html
  • 那么 /assets/resources.js 的内容是什么?还要检查 JS 控制台,看看是否有任何错误消息
  • 没有错误,内容为空... :(
  • 你的资产管道可能有问题......你的配置是什么?

标签: jquery ruby-on-rails ruby ajax render


【解决方案1】:

听起来像是资产管道的问题。

尝试添加

config.serve_static_assets = true

开发中.rb

【讨论】:

  • 重启了服务器还是一样..我必须使用javascript_include_tag?
  • 这是我的文件 app/assets/javascripts/resources.js.erb
  • 是的,使用 javascript_include_tag
  • 即使是一个简单的警报(1);不起作用..您确定这是好路径 app/assets/javascripts/resources.js.erb 吗?
  • 我不知道,这是你的应用程序!生成的html脚本标签是什么样子的?
猜你喜欢
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-24
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
相关资源
最近更新 更多