0
我正在尝试使用AJAX调用查找并替换一些html代码。ruby代码被显示为文本而不是在js.erb文件中执行
我的.js.erb文件中的以下代码成功执行并显示名为'edit unit'的资源为'@units [0]'的局部视图。
$("#edit_unit").replaceWith("<%= escape_javascript(sync partial: 'edit_unit', resource: @units[0]) %>");
然而,当我尝试完成同样的事情,但在定义的轨道控制的字符串,并通过它传递给我的.js.erb文件,它不能正常执行,即
在我的轨控制器:
@string = "sync partial: 'edit_unit', resource: @units[0]"
在我.js.erb文件:
$("#edit_unit").replaceWith("<%= escape_javascript(@string) %>");
当我做它该W a字符串在页面上显示为文本,而不是执行和显示局部视图。
这是怎么发生的?
更新:
Eval似乎成功执行字符串。但是,当我循环多个字符串时,它似乎不起作用。
$("#edit_delivery_unit_div").replaceWith(
<% @array.each do |string| %>
'<%= escape_javascript(eval(string)) %>'
<% end %>
)
这不会返回任何错误,但也不会显示部分视图。有任何想法吗?
没错与预防使用这就是我正在寻找!谢谢。也有轻微更新的问题,因为我不能让我的程序工作。 – user3711600