【发布时间】:2011-07-05 16:54:55
【问题描述】:
所以在我的 show.html.erb 文件中打开我拥有的控制器
<% content_for :head do %>
<script type="text/javascript">
var filepath= "/flexpaper/" + <%= @exam.filename.to_s %> + ".swf"
var flashvars = {
SwfFile : escape(filepath), ....
现在这似乎是我使用的解决方法,但是当我尝试以相反的方式实现相同的结果时,如下所示
<% content_for :head do %>
<script type="text/javascript">
var filepath= <%= "/flexpaper/" + @exam.filename + ".swf".to_s %>
var flashvars = {
SwfFile : escape(filepath), ....
即在 ruby 而不是 javascript 中生成文件路径 我收到未定义的文件路径错误。 现在我明白这是因为逃逸,因为它没有将文件路径作为字符串 i.r "stuff.." 而不是类似的东西.. 所以逃逸错误出来了。 但我不明白为什么?有什么想法吗?
P.s- 还有对 UJS 风格组织的任何建议。我有其他所有 js 驻留在其他文件的某个地方,并根据需要包含在标题中,除了这个有点动态的。 我不能在包含的 js 文件中包含 ruby 代码,也不想像 ryan bates railscast 那样使用 javascript 控制器来生成这个小脚本。所以任何其他简单的解决方案。
【问题讨论】:
标签: javascript ruby-on-rails ruby-on-rails-3 unobtrusive-javascript